Data Structures and Algorithms in C#
A personal project with implementations of data structures and algorithms, written in C# and created out of curiosity and for learning purposes.
Requirements
- .NET Standard 2.0 compatible framework
- .NET Core 2.0 (Only if you want to build the Unit Tests project)
Installation
The package with the .NET Standard 2.0 Class Library can be found on NuGet.
Command for NuGet package manager: Install-Package DSA
Command for .NET CLI: dotnet add package DSA
Data Structures
Arrays:
Lists:
Stacks:
Queues:
Heaps:
- Binary Min-Heap
- Binary Max-Heap
- Binomial Min-Heap
- Binomial Max-Heap
- Fibonacci Min-Heap
- Fibonacci Max-Heap
Trees:
- Binary Search Tree
- Binary Search Tree Map
- AVL Tree
- AVL Tree Map
- Red-Black Tree
- Red-Black Tree Map
- Splay Tree
- Splay Tree Map
- Trie(Prefix Tree)
- Trie Map
- Suffix Tree
- Suffix Tree Map
Graphs:
- Undirected Unweighted Graphs
- Directed Unweighted Graphs
- Undirected Weighted Graphs
- Directed Weighted Graphs
Algorithms
Sorting:
- Heap Sort
- Merge Sort
- Parallel Merge Sort
- Quick Sort
- Quick3 Sort
- Parallel Quick Sort
Searching:
- Linear Search
- Binary Search
- Quick Select
Subsequences:
Strings:
- Longest Common Substring
- Edit Distance
- String Search
Trees:
Graphs:
- Minimum Spanning Tree
- Shortest Paths
Licence
Licenced under the MIT Licence.