Skip to main content
CourseintermediateFree

Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming

Tim Roughgarden

The primary topics in this part of the specialization are: greedy algorithms (scheduling, minimum spanning trees, clustering, Huffman codes) and dynamic programming (knapsack, sequence alignment, optimal search trees).

Visit resource

More resources on Greedy Algorithms

CourseFree

Algorithms, Part I

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.

CourseFree

Algorithms, Part II

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.

WebsiteFree

LeetCode

Online judge with thousands of algorithm and data-structure problems sorted by difficulty, topic and company, plus timed contests, discussion threads and study plans. Regular practice builds fluency with common interview problem patterns and writing correct, efficient code under time pressure.

WebsiteFree

GeeksforGeeks - Greedy Algorithms

Tutorials, problems, and explanations

WebsiteFree

visualgo.net

Visualgo.net is an interactive visualization platform for learning data structures and algorithms, offering animated, step-by-step demonstrations of core structures (arrays, lists, stacks, queues, trees, graphs) and algorithms with explanations.

BookPaid

The Algorithm Design Manual

Practical guide to designing algorithms, split between technique chapters (data structures, sorting, graph algorithms, dynamic programming, heuristics, intractability) and a catalog of 75 classic problems. Readers learn to recognize a problem's type and choose a workable algorithm or implementation.

See all Greedy Algorithms resources →