Are you an EPFL student looking for a semester project?
Work with us on data science and visualisation projects, and deploy your project as an app on top of Graph Search.
This lecture introduces dynamic programming as a method to efficiently solve problems with a repetitive sequential structure. By storing solutions to subproblems that reappear, dynamic programming avoids redundant calculations. It transforms a costly naive algorithm into a more complex yet efficient one. The lecture illustrates this concept with the example of calculating binomial coefficients using both recursive and dynamic programming approaches. The complexity of the recursive approach is analyzed, leading to the introduction of Pascal's triangle and the dynamic programming solution. The lecture concludes by highlighting the exponential time complexity of the recursive approach and the improved efficiency achieved through dynamic programming.