C-Sharp-Algorithms

:books: :chart_with_upwards_trend: Plug-and-play class-library project of standard Data Structures and Algorithms in C#

View the Project on GitHub aalhour/C-Sharp-Algorithms


                                          o---o    |   |                                 
                                         /       --O---O--                               
                                        O          |   |                                 
                                         \       --O---O--                               
                                          o---o    |   |                                 


              O    o       o--o    o--o   o---o   o-O-o  o--O--o  o   o  o     o   o--o 
             / \   |      o       o    o  |   |     |       |     |   |  |\   /|  |     
            o---o  |      |  o-o  |    |  O--Oo     |       |     O---O  | \o/ |   o--o 
            |   |  |      o    |  o    o  |  \      |       |     |   |  |     |      | 
            o   o  O---o   o--o    o--o   o   \o  o-O-o     o     o   o  o     o  o---o 

##

WHAT IS C# ALGORITHMS?

A plug-and-play class-library project of standard Data Structures and Algorithms, written in C#. It contains 75+ Data Structures and 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.

##

BACK STORY

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.

##

DESCRIPTION

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. UnitTest: Unit-testing project for the Algorithms and Data Structures

Requirements:

  1. .NET Core >= 2.0
  2. XUnit

A Note to Contributors:

If you wish to contribute to C# ALGORITHMS, then please make sure you check out the Contribution Guidelines first.

##

DATA STRUCTURES

Linear:

Circular:

Heaps:

Priority Queues:

Hashing Functions:

Hash Tables:

Sorted Collections (Tree-based):

Trees:

Graphs:

##

ALGORITHMS

Sorting:

Searching:

Graphs:

Trees:

Strings:

Numeric:

Visualization:

##

CONTRIBUTORS


##

LICENSE

This project is licensed under the MIT License.