Skip to main content

Module 04 Dynamic Programming Teaching Units

UnitKindSource linksRoute
Bitmask DP: TSP and Subset-Enumeration DPconcept1Open
Choosing the Right Paradigm for Optimization Problemsconcept1Open
Digit DP: Counting Numbers With Constraintsconcept1Open
DP on DAGs and Graph-Based DPconcept1Open
Dynamic Programming: Reading Guideother3Open
Edit Distance and Sequence Alignmentconcept1Open
Fibonacci and the Rolling-Array Space Reductionconcept1Open
Grid DP: Paths, Obstacles, Collect-Maximumconcept1Open
Interval DP: Matrix Chain, Optimal BST, Balloon Burstconcept1Open
Knapsack Variants and State Designconcept2Open
Learning Resourcesresource3Open
Longest Increasing Subsequence: O(n^2) and O(n log n) Patienceconcept1Open
Memoization vs Tabulation: Trade-offsconcept1Open
Module 4: Dynamic Programming & Optimizationmodule_overview2Open
Optimal Substructure: When a Problem Admits DPconcept2Open
Overlapping Subproblems: Why Naive Recursion Wastes Workconcept1Open
Proving Greedy Correctness (Exchange Argument) vs Recognizing It Failsconcept1Open
Reconstructing the Solution From a DP Tableconcept1Open
Reference and Selective Readingreference3Open
State Compression and When It Is Worth Itconcept1Open
Tree DP: Independent Set, Diameter, Rerootingconcept1Open