C# implementations of some algorithms and data structures.
Visual Studio Package Manager Console:
Install-Package ADS -Version 0.0.3
dotnet CLI:
dotnet add package ADS --version 0.0.3
- Dynamic array
- Stack
- Min heap
- Priority queue
- Weighted min heap
- Weighted priority queue
- Binary search tree
- Red-black binary search tree.
- Hash table
- Graph
- Digraph
- Edge-weighted graph
- Edge-weighted digraph
- R-way trie
- Sorting algorithms
- Mergesort
- Quicksort
- Graph algorithms
- Traverse using DFS
- Traverse using BFS
- Check if there is a path between the two vertices
- Find a path between the two vertices
- Sort vertices in topological order
- Find the shortest path between the two vertices in an unweighted graph using BFS
- Find the shortest path between the two vertices in a graph with nonnegative weights using Dijkstra's algorithm
- Find the shortest path between the two vertices in a direct acyclic graph using topological sort
- Find the maximum sub-array of a 1D array using Kadane's algorithm
- Dynamic connectivity algorithms
- Quick-find
- Quick-union
- Weighted quick-union
- String algorithms
- Knuth–Morris–Pratt substring search
- Boyer-Moore substring search
- LSD string sort
- MSD string sort
- 2-way string quicksort
- Data compression algorithms
- Run-length encoding