Algorithms, Part I
Robert Sedgewick, Kevin Wayne
This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations. Part I covers elementary data structures, sorting, and searching algorithms. Part II focuses on graph- and string-processing algorithms. All the features of this course are available for free. People who are interested in digging deeper into the content may wish to obtain the textbook Algorithms, Fourth Edition (upon which the course is based) or visit the website algs4.cs.princeton.edu for a wealth of additional material. This course does not offer a certificate upon completion.
More resources on Dynamic Programming
NeetCode.io Dynamic Programming
Roadmap and video solutions
LeetCode DP Problems
Curated DP tagged problems for practice
GeeksforGeeks Dynamic Programming
Tutorials and problems, top rec in r/algorithms
NeetCode Dynamic Programming
NeetCode.io DP roadmap video, praised in r/leetcode for interviews
Grokking Dynamic Programming Patterns for Coding Interviews
Ace coding interviews with our Dynamic Programming course! Master essential patterns and conquer DP problems.
geeksforgeeks.org
GeeksforGeeks is a comprehensive computer science resource offering tutorials, explanations, code examples, and practice problems across data structures, algorithms (including dynamic programming), and programming languages, plus interview-preparation content.
