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).
This course is part of the Algorithms Specialization
Offered By
About this Course
Skills you will gain
- Graphs
- Data Structure
- Algorithms
- Hash Table
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
- 5 stars86.18%
- 4 stars11.55%
- 3 stars1.68%
- 2 stars0.21%
- 1 star0.36%
TOP REVIEWS FROM GRAPH SEARCH, SHORTEST PATHS, AND DATA STRUCTURES
The course was very interesting. As a person who struggles with problem-solving, I found this course very helpful because the professor's ideas are well explained. It makes me to learn more.
Hope the professor could teach more about hashing and give a detailed implementation of some data structures or supply some interface template code.
One of the greatest courses on this website. However, I believe this course will be more approachable if it contains more practical guide such as sample solution for algorithms.
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.
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.