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
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
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.
ReplyDeletehttp://community.topcoder.com/tc?module=Static&d1=tutorials&d2=dynProg
ReplyDelete