Important announcement

Dear visitor,

Please note that this OpenCourseWare platform will be replaced at the end of 2026 by a new platform (under the same url ocw.tudelft.nl).

Courses and their contents that are currently available the platform will partly be migrated. URL’s for this content will change and content might be unavailable for some time. In addition, some courses will not be available anymore.

If you are linking to specific courses on this platform (for instance for your students), please take timely measures to avoid problems with access. Possible actions are:

  • Download the materials to your local platform (laptop, server)
  • For educators only (including TU Delft lecturers): Contact us at ocw@tudelft.nl and inform us what course you are using in what context (institute, program, period of use, number of students). We will research (in collaboration with the authors of the course) and decide if we will migrate the course, and if yes, can supply you with a new url.

Thank you.

5. Dynamic programming

Course week(s) Week 5
Course subject(s) 05. Dynamic programming

Module 5. Dynamic programming

Dynamic programming is a technique related to divide and conquer for situations where there may be overlapping subproblems in the recursion. The idea here is to reuse the answers to such sub-problems. This algorithm design concept is illustrated by weighted interval scheduling, segmented least squares, knapsack, RNA secondary structure, sequence alignment, and the shortest path problem.

Recorded lectures:

Slides:
Slides with thanks to Kevin Wayne and Pearson Education (made available together with the book “Algorithm Design” by Kleinberg & Tardos)

Relevant exercises:
Algorithm Design: 6.1 – 6.8, 6.20, 6.22 – 6.23

Creative Commons License
Algoritmiek by TU Delft OpenCourseWare is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Based on a work at https://ocw.tudelft.nl/courses/algoritmiek/.
Back to top
[sg_popup id=6]