🎉 October Learning Month — learn a new software term every day!
An interactive flashcard trainer for software engineering terms.

Memoization Algorithm

In plain terms

Top-down dynamic programming that caches subproblem results.

Going deeper

This approach solves a problem recursively but stores each subproblem's answer so it's computed only once. It turns exponential recursion into polynomial time.

Under the hood

Trades memory for speed; the recursive (top-down) counterpart to bottom-up tabulation.

Examples

Fibonacci, edit distance, recursive DP, grid path counting.

Think of it like...

Like keeping a notebook of answers so you never solve the same sub-puzzle twice.

Feedback & Bug Report