Tuesday, December 20, 2011

Dynamic Programming

What is Dynamic Programming and how we can use it to solve sub-problems

Theory:
http://video.mit.edu/watch/introduction-to-algorithms-lecture-19-dynamic-programming-i-fibonacci-shortest-paths-14225/
https://www.topcoder.com/community/data-science/data-science-tutorials/dynamic-programming-from-novice-to-advanced/
Overlapping Sub-problems/ Optimal Substructure:
http://www.geeksforgeeks.org/archives/12635:
http://www.geeksforgeeks.org/archives/12819
Bottom Up:
https://www.interviewcake.com/concept/java/bottom-up

DP in Java
http://www.programcreek.com/2012/11/top-10-algorithms-for-coding-interview/
http://prismoskills.appspot.com/lessons/Dynamic_Programming/Chapter_01_-_Introduction.jsp
 http://algorithms.tutorialhorizon.com/category/dynamic-programming/

Problems in Difficulty Order - Leetcode:
https://leetcode.com/tag/dynamic-programming/
Easy
1.Climbing Stairs: http:sudhansu-codezone.blogspot.in/2011/12/fibonacci-series.html
2. http://www.programcreek.com/2014/02/leetcode-best-time-to-buy-and-sell-stock-java/
3. http://www.programcreek.com/2014/03/leetcode-house-robber-java/
4. http://www.programcreek.com/2014/05/leetcode-pain-fence-java/
5. http://www.programcreek.com/2014/04/leetcode-range-sum-query-2d-immutable-java/

Medium
1.

Problems - 1D
http://www.programcreek.com/2013/02/leetcode-maximum-subarray-java/
http://www.programcreek.com/2014/04/leetcode-longest-increasing-subsequence-java/
http://www.programcreek.com/2014/06/leetcode-decode-ways-java/


Problems List

0. http://www.ideserve.co.in/#dynamicProgramming

1. http://www.programcreek.com/2012/11/top-10-algorithms-for-coding-interview/

2. http://algorithms.tutorialhorizon.com/category/dynamic-programming/

3. http://www.geeksforgeeks.org/fundamentals-of-algorithms/#DynamicProgramming

4. http://codercareer.blogspot.in/p/dynamic-interview-questions.html

5. https://www.quora.com/What-are-the-top-10-most-popular-dynamic-programming-problems-among-interviewers

6. https://people.cs.clemson.edu/~bcdean/dp_practice/

7. http://prismoskills.appspot.com/lessons/Dynamic_Programming/Chapter_02_-_No_of_ways_to_climb_stairs.jsp

2 comments:

  1. Dynamic Programming is an algorithmic paradigm that solves a given complex problem by breaking it into subproblems and stores the results of subproblems to avoid computing the same results again.

    ReplyDelete
  2. http://community.topcoder.com/tc?module=Static&d1=tutorials&d2=dynProg

    ReplyDelete