Data Structures & Algorithms

Dynamic Programming

/daɪˈnæmɪk ˈprəʊɡræmɪŋ/

Definition

An optimisation technique solving problems by breaking them into sub-problems and caching results to avoid recomputation.

Example in context

"Fibonacci with DP: store previous results in a memo table — O(n) instead of O(2ⁿ) naive recursion."

Related terms

Practice this term

Master Dynamic Programming in context by working through exercises in the Data Structures & Algorithms module. You'll see the term used in real engineering scenarios with multiple-choice, fill-in-the-blank, and matching drills.

Frequently Asked Questions

What does "Dynamic Programming" mean?

An optimisation technique solving problems by breaking them into sub-problems and caching results to avoid recomputation.

How do you pronounce "Dynamic Programming"?

"Dynamic Programming" is pronounced /daɪˈnæmɪk ˈprəʊɡræmɪŋ/.

Can you use "Dynamic Programming" in a sentence?

"Fibonacci with DP: store previous results in a memo table — O(n) instead of O(2ⁿ) naive recursion."