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.