Dynamic Programming
Memoization vs tabulation, recognizing overlapping-subproblems + optimal-substructure shapes.
Why we need this / what value this brings
DP is the topic most engineers rate as hardest to pattern-match under interview pressure — deliberate practice recognizing the shape pays off disproportionately.
When to use this
A problem has optimal substructure and overlapping subproblems (recursion with repeated identical calls) — the naive recursive solution is exponential and a DP table fixes it.
How to use or implement this
Always write the brute-force recursive solution first, identify the repeated subproblems, then add memoization before converting to bottom-up tabulation if needed.
Research questions
- A Challenge series building up from 1D DP (climbing stairs) to 2D DP (edit distance, knapsack) would build the pattern-recognition muscle incrementally.
Empty folder — drop notes, links, and findings here as you research.