C# ALGORITHMS ![](https://camo.githubusercontent.com/c4233b7da6d507695f8a888bde8d3d9c0af455abf337ebd9216a49ed4fe07425/68747470733a2f2f7472617669732d63692e6f72672f61616c686f75722f432d53686172702d416c676f726974686d732e7376673f6272616e63683d6d6173746572)
Implementations of Data Structures and Algorithms in C#.
DESCRIPTION
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.
Solution Hierarchy:
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.
Requirements:
- C# 5
- .NET 4.5
A Note to Contributors:
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.
DATA STRUCTURES
Lists:
Heaps:
Priority Queues:
Hashing Functions:
Hash Tables:
Trees:
Graphs:
- Undirected Graphs:
- Undirected Weighted Graphs:
- Directed Graphs:
- Directed Weighted Graphs:
ALGORITHMS
Sorting:
Graphs:
- Graph Search:
- Shortest Paths:
- DFS Applications:
- BFS Applications:
Strings:
- Uses a generic custom class for passing costs: EditDistanceCostsMap<T>.
Numeric:
Visualization:
CONTRIBUTORS
LICENSE
This project is licensed under the MIT License.