Binary Search
Binary Tree
- Traversal/Modification
- BFS Traversal
- Fenwick Tree/Segment Tree
- Self-balancing Trees
- Lowest Common Ancestor (LCA)
- Find
Duplicate Subtrees (code)
Bit Manipulation
Graph
- Bipartite
Graph
- BFS Unweighted Shortest Path
- Bridge of Graph
- Convex Hull
- Dijkstra Shortest Path
- Disjoint Set Union Find
- Hamiltonian
Path
- Minimum Spanning Tree
- Topological Sort
- Modelling/Simulation
- Strongly Connected Components (SCC)
- Traversal
- Tree
Hash Map
Heap/Priority Queue
Iterator
Linked List
Matrix
Queue
Sorting
- Binary Search
- Longest Increasing Subsequence (LIS)
- Quickselect
- Quicksort
- Two Pointers
- Greedy Using Sort
Stack
String Search & Pattern
Matching
- DP
- Longest Common Subsequence (LCS)
- Hashmap
- Rolling Hash
- Sliding Window
- Trie
- Two/K Pointers
- Z Algorithm
Others
- Bin
Packing
- Combinatorics
- DP
- Greedy
- Information Theory
- Math & Geometry
- Parsing/Codec
- Permutation