-
Sorting :
- Insertion Sort
- Merge Sort
- Selection Sort
- Bubble Sort
- Shell Sort
- Quick Sort
- Heap Sort
-
Search:
- Linear Search
- Binary Search, iterative and recursive
- Quick Select
-
Shuffle:
- Fisher-Yates / Knuth Shuffle
-
Math:
- Karatsuba multiplication
- Matrix multiplication, naive
-
Count:
- Counting inversions, naive
- Counting inversions, merge sort
-
Geometry:
- Closest pair of points, naive
- Closest pair of points, Divide and Conquer
-
Graph:
- Karger Min-Cut algorithm
- Breadth First Search
- Deep First Search, Iterative and Recursive
- Basic Shortest Path (BFS)
- Count Connected Components (BFS)
- Topological Sort (DFS)
- MST: Kruskal
-
Online:
- Median Maintenance
-
Compression:
- Huffman Coding
- Data Structures:
- Stack, linked list
- Stack, dynamic array
- Heap, Min-Heap/Max-Heap
- Unbalanced Binary Search Tree (BST)
- Union-Find, naive
- Union-Find, Optimized (Lazy union, Union by rank, Path compression)