views:

773

answers:

4

Hi,

I have seen many questions on stackoverflow where dynamic programming technique can be used to make a exponential algorithm, a polynomial one. I have seen standard problems on dynamic programming. Is there a website or book that contains practice problems and solutions?

Thanks
Bala

+1  A: 

CLR, Introduction to Algorithms is considered one authoritative texts for algorithms. It's where I learned about dynamic programming.

Obviously, Wikipedia contains some good illustrative examples as well.

Stephen
+4  A: 

The best way to go about this is to start solving problems on:

and read the discussions made by to programmers on their respective discussion forums. Top coder also has some very good DP tutorials.

codaddict
The Topcoder site is amazing. Free full access to all problems from past competitions, which are at 3 different difficulty levels, as well as after-match explanations of every single problem from the problem author. Not only that, but you can quickly dig up the source code solution submitted by any coder in the competition.
j_random_hacker
+1  A: 

There are quite a few problems on Project Euler which can be solved by dynamic programming, though you'll have to find out which problems by yourself. Also beware that they can be very hard.

A discussion of the solution becomes accessible once you've solved a problem.

starblue
+2  A: 

You can find spoj problems that involve dynamic programming here

viswanathgs