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).
This course is part of the Algorithms Specialization
Offered By
About this Course
Skills you will gain
- Spanning Tree
- Algorithms
- Dynamic Programming
- Greedy Algorithm
Offered by

Stanford University
The Leland Stanford Junior University, commonly referred to as Stanford University or Stanford, is an American private research university located in Stanford, California on an 8,180-acre (3,310 ha) campus near Palo Alto, California, United States.
Syllabus - What you will learn from this course
Week 1
Two motivating applications; selected review; introduction to greedy algorithms; a scheduling application; Prim's MST algorithm.
Week 2
Kruskal's MST algorithm and applications to clustering; advanced union-find (optional).
Week 3
Huffman codes; introduction to dynamic programming.
Week 4
Advanced dynamic programming: the knapsack problem, sequence alignment, and optimal binary search trees.
Reviews
- 5 stars86.57%
- 4 stars11.40%
- 3 stars1.67%
- 2 stars0.08%
- 1 star0.25%
TOP REVIEWS FROM GREEDY ALGORITHMS, MINIMUM SPANNING TREES, AND DYNAMIC PROGRAMMING
I learned more about Greedy Algorithms and Algorithms to compute MST's and their importance on real world problems. Also I got to start to understand Dynamic Programming in a way I didn't before.
This course has wonderful lectures coupled with challenging but rewarding homework problems. It was a wonderful learning experience.
I love how clear the videos (and notes) are and re-watching them really helped a lot! I wish there was more discussion on the forms though!
Fantastic course that covered a good variety of content in sufficient details and delves into the fundamentals without sacrificing clarity.
About the Algorithms Specialization
Algorithms are the heart of computer science, and the subject has countless practical applications as well as intellectual depth. This specialization is an introduction to algorithms for learners with at least a little programming experience. The specialization is rigorous but emphasizes the big picture and conceptual understanding over low-level implementation and mathematical details. After completing this specialization, you will be well-positioned to ace your technical interviews and speak fluently about algorithms with other programmers and computer scientists.

Frequently Asked Questions
When will I have access to the lectures and assignments?
What will I get if I subscribe to this Specialization?
Is financial aid available?
More questions? Visit the Learner Help Center.