Part I rebuilt as interactive lessons. Correctness proofs, Big Oh, heaps, graphs, shortest paths, backtracking, dynamic programming, and NP-completeness — all with live simulations.
Correctness, counterexamples, induction proofs, modeling. Why heuristics fail and proofs matter.
RAM model, Big Oh/Omega/Theta, growth rates, dominance relations, logarithms.
Arrays, linked lists, stacks, queues, dictionaries, binary search trees, priority queues, hashing.
Heapsort, mergesort, quicksort, binary search, divide-and-conquer.
BFS, DFS, connected components, topological sort, articulation points.
Prim's MST, Kruskal's MST, Dijkstra's shortest path, network flow.
Backtracking, pruning, Sudoku, simulated annealing, genetic algorithms.
Fibonacci, edit distance, longest increasing subsequence, partition problem.
Reductions, satisfiability, NP-completeness, P vs NP, approximation algorithms.