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.
Practice while you learn with exercise files
Download the files the instructor uses to teach the course. Follow along and learn by watching, listening and practicing.