Skip to content

๐Ÿ“š ๐Ÿ“ˆ Plug-and-play class-library project of standard Data Structures and Algorithms in C#

License

Notifications You must be signed in to change notification settings

aalhour/C-Sharp-Algorithms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

504140e ยท May 27, 2020
Nov 14, 2019
May 27, 2020
Apr 25, 2020
Dec 1, 2019
May 27, 2020
May 14, 2015
Nov 1, 2019
Oct 3, 2019
Dec 13, 2017
Mar 28, 2016
Dec 21, 2019
Nov 4, 2016
May 30, 2017

Repository files navigation


                                          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.