Skip to main content

Module 04 Dynamic Programming Teaching Units

UnitKindSource linksRoute
Bitmask DP: TSP and Subset-Enumeration DPconcept2Open
Book Exercise Lanesexercise6Open
Choosing the Right Paradigm for Optimization Problemsconcept6Open
Digit DP: Counting Numbers With Constraintsconcept2Open
DP on DAGs and Graph-Based DPconcept4Open
Edit Distance and Sequence Alignmentconcept2Open
Fibonacci and the Rolling-Array Space Reductionconcept4Open
Grid DP: Paths, Obstacles, Collect-Maximumconcept3Open
Interval DP: Matrix Chain, Optimal BST, Balloon Burstconcept3Open
Knapsack Variants and State Designconcept4Open
Learning Resourcesresource8Open
Longest Increasing Subsequence: O(n^2) and O(n log n) Patienceconcept3Open
Memoization vs Tabulation: Trade-offsconcept4Open
Module 4: Dynamic Programming & Optimizationmodule_overview1Open
Optimal Substructure: When a Problem Admits DPconcept3Open
Overlapping Subproblems: Why Naive Recursion Wastes Workconcept4Open
Proving Greedy Correctness (Exchange Argument) vs Recognizing It Failsconcept3Open
Reconstructing the Solution From a DP Tableconcept3Open
Reference and Selective Readingreference9Open
State Compression and When It Is Worth Itconcept2Open
Tree DP: Independent Set, Diameter, Rerootingconcept1Open