Algorithms & Data Structures¶
Complexity & Theory¶
- complexity analysis - Big-O notation, time/space complexity, analysis patterns for loops and recursion
- amortized analysis - Average cost per operation over sequences, dynamic array example
- complexity classes - P, NP, NP-complete, NP-hard, reductions between problems
Sorting & Searching¶
- sorting algorithms - Comparison table of all sorts, insertion/merge/quick/radix sort with code
- searching algorithms - Linear search, binary search, KMP string matching
- two pointer technique - Two-sum, subsequence check, convergent and parallel pointer patterns
Dynamic Programming¶
- dynamic programming fundamentals - DP concepts, memoization vs tabulation, recurrence identification
- dp sequence problems - LCS, edit distance, LIS, word break, interleaving strings
- dp optimization problems - Knapsack, coin change, house robber, rod cutting, matrix chain
- dp grid problems - Partition problem, maximal square, counting paths, combinatorics DP
Graph Fundamentals¶
- graph representation - Adjacency list vs matrix, terminology, operation complexity trade-offs
- graph traversal bfs dfs - DFS and BFS with code, implicit graphs, multi-source BFS, grid problems
- trees and binary trees - Tree definitions, binary tree traversals, spanning trees
Graph Algorithms¶
- shortest path algorithms - Dijkstra, Bellman-Ford, Floyd-Warshall, DAG shortest path, Johnson's
- minimum spanning trees - Prim's and Kruskal's algorithms, cut property
- topological sort - DFS-based and Kahn's algorithm, critical path, DAG applications
- network flow - Max-flow min-cut, Ford-Fulkerson, Edmonds-Karp, Dinic's, bipartite matching
- union find - Disjoint set union with path compression and union by rank
Advanced Graph Problems¶
- graph coloring - Chromatic number, bipartite check, greedy coloring, NP-completeness
- eulerian hamiltonian paths - Euler trails/circuits, Hamiltonian paths, Hierholzer's algorithm
- traveling salesman problem - TSP exact (Held-Karp) and approximation (nearest neighbor, Christofides)