Fundamentals
- Binary Exponentiation
- Euclidean Algorithm
- Sieve of Eratosthenes
- Find all prime factors of a given number
Searching Algorithms
Dynamic Programming & Optimization
String Algorithms
- KMP Algorithm
- Z-function
- Rolling Hash
- Boyer Moore’s Algorithm
- Rabin-Karp Algorithm
Graph Theory
- Introduction to Graph Theory
- DFS + BFS
- Dijkstra’s Algorithm
- Bellman-Ford Algorithm
- Floyd-Warshall Algorithm
- Kruskal’s Algorithm
- Kosaraju’s Algorithm for Strongly Connected Components
- Is Graph Bipartite?
- Topological Sorting in Directed Acyclic Graphs (DAG)
- Directed Graphs
Mathematics
- Combinatorics
- Principle of Inclusion - Exclusion
- Matrix Exponentiation
- Game Theory
Bit Manipulation
- Bit operations
- Submask enumeration
- Bitmask DP
Other Concepts
- Floyd’s Cycle Detection Algorithm