It originally started out as an interview preparation project. However, after receiving a great amount of positive responses on reddit, and noticing excitement from a few GitHubers to contribute furthermore to it, the project took on a different meaning. So I decided to keep maintaining it as a reference for data structures and algorithm implementations in C# as well as my research side-project under these topics.
This is a C#.NET solution-project, and it contains three subprojects:
- Algorithms: A class library project. Contains the Algorithms implementations.
- Data Structures: A class library project. Contains the Data Structures implementations.
- Main Program: Contains tests for the data structures and algorithms projects.
- C# 5
- .NET 4.5
- NUnit
If you wish to contribute to C# ALGORITHMS, then please make sure you check out the Contribution Guidelines first.
Note: The projects where tested on Xamarin Studio (MonoDevelop) on OSX 10, and Visual Studio on Windows 7.
- Map version. Supports key-value pairs nodes; indexes nodes by keys.
- Map version. Supports key-value pairs nodes; indexes nodes by keys.
- Undirected Graphs:
- Undirected Weighted Graphs:
- Directed Graphs:
- Directed Weighted Graphs:
- Bubble Sort.
- Bucket Sort.
- BST Sort.
- Comb Sort.
- Counting Sort.
- Cycle Sort.
- Gnome Sort.
- Heap Sort.
- Insertion Sort.
- LSD Radix Sort.
- Merge Sort.
- Selection Sort.
- Shell Sort.
- OddEven Sort.
- PigeonHole Sort.
- Quick Sort.
- Graph Search:
- Shortest Paths:
- DFS Applications:
- BFS Applications:
- Recursive Binary Tree Walker.
- Methods: PrintAll, ForEach, Contains and BinarySearch. Traversal Modes: Preorder, Inorder & Postorder.
- Uses a generic custom class for passing costs: EditDistanceCostsMap<T>.
This project is licensed under the MIT License.