Lecture 19: Dynamic Programming I: Fibonacci, Shortest Paths

Published: Dec. 7, 2012, 7:49 p.m.

This lecture introduces dynamic programming, in which careful exhaustive search can be used to design polynomial-time algorithms. The Fibonacci and shortest paths problems are used to introduce guessing, memoization, and reusing solutions to subproblems.