Skip to content

tloy1966/C-Sharp-Algorithms

 
 

Repository files navigation

C# ALGORITHMS Build Status

A C# plug-and-play class-library project of standard Data Structures and Algorithms. It contains 35+ Data Structures and 30+ Algorithms designed as Object-Oriented isolated components. Even though this project started for educational purposes, the implemented Data Structures and Algorithms are standard, efficient, stable and tested.

DESCRIPTION

This project 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 own research side-project under these topics.

Solution Hierarchy:

This is a C#.NET solution-project, and it contains three subprojects:

  1. Algorithms: A class library project. Contains the Algorithms implementations.
  2. Data Structures: A class library project. Contains the Data Structures implementations.
  3. Main Program: Contains tests for the data structures and algorithms projects.

Requirements:

  1. C# 5
  2. .NET 4.5
  3. NUnit

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:

Sorted Collections (Tree-based):

Trees:

  • Map version. Supports key-value pairs nodes; indexes nodes by keys.
  • Map version. Supports key-value pairs nodes; indexes nodes by keys.

Graphs:

  • Undirected Graphs:
  • Undirected Weighted Graphs:
  • Directed Graphs:
  • Directed Weighted Graphs:

ALGORITHMS

Sorting:

Graphs:

  • Graph Search:
  • Shortest Paths:
  • DFS Applications:
  • BFS Applications:

Trees:

Strings:

Numeric:

Visualization:

CONTRIBUTORS

LICENSE

This project is licensed under the MIT License.

About

A C# plug-and-play class-library project of standard Data Structures and Algorithms.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 100.0%