[GitHub] 75+的 C# 数据结构和算法实现
C#中標準數據結構和算法的即插即用類庫項目
GitHub:https://github.com/aalhour/C-Sharp-Algorithms
Watch: 307 ?Star: 3.4k Fork: 910
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什么是C# 算法
標準數據結構和算法的即插即用類庫項目,使用C#編寫。它包含75多種數據結構和算法,被設計為面向對象的隔離組件。即使該項目出于教育目的而開始,但已實現的數據結構和算法都是標準、高效、穩定和經過測試的。
背后的故事
該項目最初是作為面試準備項目開始的。但是,在收到有關reddit的大量積極響應,并注意到一些GitHubers為它做出進一步貢獻而感到興奮之后,該項目的含義有所不同。因此,我決定繼續對其進行維護,以作為C#中數據結構和算法實現以及這些主題下我自己的研究副項目的參考。
描述
解決方案層次結構
這是一個C#.NET解決方案,它包含三個子項目:
Algorithms: 一個類庫項目。包含算法實現
Data Structures: 一個類庫項目。包含數據結構實現
UnitTest:對算法和數據結構實現的測試項目
要求
.NET Core>=2.0
XUnit
投稿者須知
如果你想為C#算法做出共享,請確保你首先查看貢獻準則。
數據結構
Linear:
Skip List
Array List
Stack
Queue
Single-Linked List
Double-Linked List
Circlar:
Circular Buffer
Heaps:
Binary-Min Heap
Binary-Max Heap
Binomial-Min Heap
Priority Queues:
Min-Priority Queue
Key-value Priority Queue
Hashing Functions:
Prime Hashing Family
Universal Hashing Family
Hash Tables:
Chained Hash Table
Cuckoo Hash Table
Open-Addressing Hash Table
Sorted Collections(Tree-based):
Sorted List
Sorted Dictionary
Trees:
Basic Search Trees:
Map versions(Supports key-value pairing; nodes indexed by keys)
Binary Search Tree
(Augmented) Binary Search Tree
Ternary Search Tree
Self-Balancing Trees:
Map version(supports key-value pairing;nodes indexed by keys)
AVL Tree
B-Tree
Red-Black Tree
Prefix Trees:
Trie
Trie Map (associative prefix tree;complete words are keys to records)
Graphs:
Undirected Graphs:
Clique Graphs
Undirected Sparse Graph
Undirected Dense Graph
Undirected Weighted Graphs:
Undirected Weighted Sparse Graph
Undirected Weighted Dense Graph
Directed Graphs:
Directed Sparse Graph
Directed Dense Graph
Directed Weighted Graphs:
Directed Weighted Sparse Graph
Directed Weighted Dense Graph
算法
排序算法(Sorting):
Bubble Sort
Bucket Sort
BST Sort
Comb Sort
Counting Sort
Cycle Sort
Gnome Sort
Heap Sort
Insertion Sort
LSD Radix Sort
Merge Sort
Selection Sort
Shell Sort
OddEven Sort
PigeonHole Sort
Quick Sort
Searching:
Binary Search
Graphs:
Graph Search:
Depth-Frist Searcher
Breadth-First Searcher
Shortest Paths:
Breadth-First SPs
Bellman-Ford SPs
Dijkstra SPs
Dijkstra All-Pairs SPs
DFS Applications:
Cycles Detector
Topological Sorter
BFS Applications:
Connected Components
Biparite Graphs Coloring
Tree:
Resursive Binary Tree Walker
Methods: PrintAll, ForEach, Contains and BinarySearch. Traversal Modes: Preorder, Inorder & Postorder
Strings:
Permutations and Anagrams
Edit Distance
Uses a generic custom class for passing costs: EditDistanceCostsMap
Numeric:
Binomial Coefficients
Catalan Numbers
Greatest Common Divisor
Visualization:
Tree Drawer
— END —
公
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的[GitHub] 75+的 C# 数据结构和算法实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 5种避免C#.NET中因事件造成内存泄漏
- 下一篇: 我是如何一步步的在并行编程中将lock锁