The primary topics in this part of the specialization are: data structures (heaps, balanced search trees, hash tables, bloom filters), graph primitives (applications of breadth-first and depth-first search, connectivity, shortest paths), and their applications (ranging from deduplication to social network analysis).
Offered By
About this Course
Learner Career Outcomes
32%
39%
Skills you will gain
Learner Career Outcomes
32%
39%
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
Breadth-first and depth-first search; computing strong components; applications.
Week 2
Dijkstra's shortest-path algorithm.
Week 3
Heaps; balanced binary search trees.
Week 4
Hashing; bloom filters.
Reviews
TOP REVIEWS FROM GRAPH SEARCH, SHORTEST PATHS, AND DATA STRUCTURES
Good course, but instructor does start to move fast and a few walk-throughs in certain spots would be beneficial . However the lack of it makes you do your own research, which is also beneficial.
Awesome course! Professor Roughgarden is fantastic. The material was appropriately challenging. Perfect amount of rigor. Only one minor squabble: the hash problem set is terribly misleading.
It was an awesome experience to learn from such a teacher. Now I have a much clear view of the graph algorithms. I have enjoyed this course. Thanks to Stanford for offering this course.
assignments didn't seem as interesting or complex as class 1, besides week 1 of class 2. Lecture material was high quality however, and the advanced optional material is appreciated
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.