Skip to content

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)