From Amazon.com (by Vladimir): Yet another golden nugget from professor Roughgarden. Outstanding self-learning material for those who learn algorithms for the first time or for those who revisit the subject for rock-solid fundamental knowledge. Clear explanations for most popular greedy and dynamic programming algorithms. Throughout my experience interviewing CS graduates when working in the product development industry and back in times when I was a university lecturer, I found that for most students dynamic programming is one of the weakest areas among algorithm design paradigms. This book has outstanding, clear, easy to understand coverage for this topic.