Skills101
← Tech dictionary

Data structures & algorithms

What is Dynamic programming?

Also called: DP

Dynamic programming solves problems with overlapping subproblems by storing the answer to each subproblem and reusing it instead of recomputing it. It is applied either top-down with memoisation or bottom-up with a table.

Example

Computing Fibonacci numbers with a table turns exponential time into O(n).

Learn it properlyDSA tutorials — free, with diagrams, quizzes and a certificate

Related terms