Mental Model
Memoization remembers answers to small problems so we don't solve them again.
Analogy: Like writing down answers in a notebook while solving puzzles, so next time you see the same puzzle, you just look it up instead of solving it again.
fib(5) ↓ fib(4) + fib(3) ↓ ↓ fib(3)+fib(2) fib(2)+fib(1) ↓ [cache stores answers here] fib(2) -> 1 fib(3) -> 2 fib(4) -> 3 fib(5) -> 5
