Mental Model
Recursion repeats work by solving the same problem many times. Dynamic programming saves answers to avoid repeating work.
Analogy: Imagine you are climbing stairs and counting ways to reach the top. If you remember how many ways to reach each step, you don't have to count again every time.
Start: 1 -> 2 -> 3 -> 4 -> 5 -> top Recursion: counts ways repeatedly for each step DP: stores counts for each step to reuse Steps: [1] -> [2] -> [3] -> [4] -> [5] -> top ā memo stores answers here