https://github.com/cschen1205/cs-algorithms
Package cs-algorithms provides C# implementation of algorithms for data structures and manipulation, as well as graph and string processing
https://github.com/cschen1205/cs-algorithms
algorithms bellman-ford-algorithm binary-search-tree dijkstra max-flow red-black-tree sorting-algorithms substring-search symbol-table topological-sort
Last synced: about 1 month ago
JSON representation
Package cs-algorithms provides C# implementation of algorithms for data structures and manipulation, as well as graph and string processing
- Host: GitHub
- URL: https://github.com/cschen1205/cs-algorithms
- Owner: cschen1205
- License: mit
- Created: 2017-05-02T01:15:00.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-11-24T15:14:08.000Z (almost 8 years ago)
- Last Synced: 2025-08-01T07:53:48.470Z (2 months ago)
- Topics: algorithms, bellman-ford-algorithm, binary-search-tree, dijkstra, max-flow, red-black-tree, sorting-algorithms, substring-search, symbol-table, topological-sort
- Language: C#
- Size: 126 KB
- Stars: 34
- Watchers: 2
- Forks: 8
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# cs-algorithms
Package cs-algorithms provides C# implementation of algorithms for data structures and manipulation, as well as graph and string processing. The project is written with .NET Core and is cross-platform for development.[](https://travis-ci.org/cschen1205/cs-algorithms)
# Install
Run the following command using nuget:
Install-Package cs-algorithms
# Features
* Data Structure
- Stack
+ Linked List
+ Array- Queue
+ Linked List
+ Array- HashSet
- HashMap+ Separate Chaining
+ Linear Probing- Binary Search Tree
- Red Black Tree
- Priority Queue+ MinPQ
+ MaxPQ
+ IndexMinPQ- Graph
+ Simple graph
+ Edge weighted graph
+ Directed graph (digraph)
+ Directed edge weight graph- Search Tries (Symbol table with string-based keys)
+ R-way search tries
+ Ternary search tries* Algorithms
- Sorting
+ Selection Sort
+ Insertion Sort
+ Shell Sort
+ Merge Sort
+ Quick Sort
+ 3-Ways Quick Sort
+ Heap Sort- Selection
+ Binary Search
- Shuffling
+ Knuth
- Union Find
+ Quick Find
+ Weighted Quick Union with path compression* Graph Algorithms
- Search
+ Depth First Search
+ Breadth First Search- Connectivity
+ Connected Components
+ Strongly Connected Components- Topological Sorting
+ Depth First Reverse Post Order
- Directed Cycle Detection
- Minimum Spanning Tree
+ Kruskal
+ Prim (Lazy)
+ Prim (Eager)- Shortest Path
+ Dijkstra
+ Topological Sort (for directed acyclic graph, namely dag)
+ Bellman-Ford (for graph with negative weight as well)- MaxFlow MinCut
+ Ford-Fulkerson
* Strings
- Longest Repeated Substring
- String Sorting+ LSD (Least Significant Digit first radix sorting)
+ MSD (Most Significant Digit first radix sorting)
+ 3-Ways String Quick Sort- String Search
+ Rabin Karp
+ Boyer Moore
+ Knuth Morris Pratt