From the course: Fundamentals of Dynamic Programming

What is dynamic programming? - Python Tutorial

From the course: Fundamentals of Dynamic Programming

What is dynamic programming?

- [Instructor] What is dynamic programming? Dynamic programming is a technique for computing, a recursive algorithm with the highly overlapping sub-problems structure. Dynamic programming achieves efficiency by solving each sub problem only once. We'll do a deep dive into each of these concepts in the next few videos. A recursive algorithm breaks down a larger problem into smaller sub problems, combining the smaller results into the larger ones. When a problem is broken down into independent chunks with no overlap the technique is known as divide and conquer. In contrast, when sub problems overlap, resulting in the same sub problem being solved again and again, dynamic programming becomes useful. In this chapter we'll work through one example of dynamic programming, computing the Fibonacci sequence.

Contents