- Select sort
- Insert sort
- Shell sort
- Merge sort (Recurring)
- Merge sort (Non-recurring)
- Quick sort
- Heap sort
- Topological sort (Depth-first order)
- Radix sort
- LSD sort (Least-significant-digit-first - based on radix sort)
- Union-find (Quick find)
- Union-find (Quick union)
- Stack (Linked list)
- Stack (Array)
- Queue (Linked list)
- Queue (Array)
- Priority Queue (Ordered)
- Priority Queue (Unordered)
- Priority Queue (Heap)
- Binary search tree (BST)
- Red-black tree
- Graph
- Digraph
- Edge weighted graph
- Edge weighted digraph
- Connected component with DFS
- Strong connected component with DFS
- Flow graph (Flow Network)
- Trie (R-way)
- Ternary trie (Sedgewick approach)
- Quick select (Kth smallest find)
- Depth-first search (DFS)
- Breadth-first search (BFS)
- Kruskal's algorithm (Finding minimal spanning tree (MST))
- Prims's algorithm (Finding minimal spanning tree (MST))
- Dijkstra's algorithm (Finding shortest path in directed weigthed graph)
- Topological short path algorithm (Finding shortest path in directed weigthed graph)
- Bellman-Ford algorithm (Finding shortest path in directed weigthed graph)
- Ford-Fulkerson algorithm (Max flow / Min cut)