main page  —  CS 566 Efficient Algorithms

Unit 12: Dynamic Programming

This unit covers the algorithm design technique dynamic programming. Specifically, we will cover the common steps in designing dynamic programming algorithms, and we will discuss a number of examples, including

  • matrix-chain multiplication,
  • making change,
  • the Bellman-Ford algorithm,
  • optimal binary search trees,
  • edit distance.

Learning outcomes

  1. Be able to apply the DP paradigm to solve new problems.

Material

— to be added —


Further reading and sources

The presentation of dynamic programming follows

and takes inspiration from


Unit 11  ⋅  Syllabus  ⋅  Unit 13