Memoization
Memoization caches function-call results so repeated arguments return the cached value directly, trading space for time.
Purpose
Optimize repeated computation — safe and efficient for pure functions.
Mechanism
Stores results keyed by arguments. The first call computes and caches; subsequent calls with the same arguments return directly. Optimizes recursion (e.g., Fibonacci) from O(2^n) to O(n). Requires pure functions to keep the cache correct.
Use cases
- Performance optimization
- Recursion speedup
- Caching strategies