CS302 Lecture Notes - Dynamic Programming

Reference Material and Topcoder Problems

To augment this lecture, there are two sets of tutorials on dynamic programming from Topcoder. They are excellent:

These are Topcoder problems where I give you hints, but no code -- these are good practice for you to work on Dynamic Programming on your own:

And finally, these are Topcoder problems where I give you explanations and code:

Dynamic Programming in a Nutshell

Dynamic programming is nothing more than the following:

I find that steps 3 and 4 are often optional. However, they usually represent the best solutions to a problem.

I will illustrate with many examples.

Dynamic Programming Example Programs

Each of these has its own set of lecture notes. There is a makefile in this directory which makes all of the examples.