- Bubble
- Insertion
- Selection
- Shell
- Heap (Priority Queue)
- Merge
- Quick
- Radix
- Binary Search Tree
- Red Black Tree
- Separate Chaining Hash Table
- Sequential Search Symbol Table
- Linear Probing Hash Symbol Table
- Binary Search Symbol Table
- Sparse Matrix
- 深度优先搜索
- 广度优先搜索
- 有向无环图
- 强联通
- lazy Prim, space E, time ElgE
- eager Prim(using binary heap), space V, time ElgV
- Kruskal, space E, time ElgE
- Dijkstra(eager)
- Topological sort + Relax(for acyclic only)
- Bellman-Ford(SPFA)
- Ford-Fulkerson
- LSD: 最简单的 radix sort 例子
- MSD: 适用于变长的字符串排序
- Quick 3 way: 借鉴了 Quicksort 的理念
- Trie
- TST: 解决了 Trie 树在字典库很大时, 空间占用问题很大的问题
- KMP: 有限状态机的应用
- Boyer-Moore: 比 KMP 平均复杂度更小, 空间复杂度更小
- Rabin-Karp: hash 算法, 优化了 hash 计算
- 后缀数组
- NFA
- 最短路径: Dijkstra, Bellman-Ford(SPFA), Acyclic, A*
- 无向图: 广度优先搜索, 深度优先搜索
- 最小生成树: Prim (eager)
- 排序: QuickSort, MergeSort
- 搜索: 红黑树, 哈希表
- 数据结构: LinkedList, Queue, Stack, Binary Heap (Priority Queue)
- 字符串: MSD, Trie, KMP, 正则表达式