Key Information
About the content
In this course you will learn several fundamental principles of algorithm design: divide-and-conquer methods, graph algorithms, practical data structures (heaps, hash tables, search trees), randomized algorithms, and more.
Syllabus
Week 2: Running time analysis of divide-and-conquer algorithms. The master method. Introduction to randomized algorithms, with a probability review. QuickSort.
Week 3: More on randomized algorithms and probability. Computing the median in linear time. A randomized algorithm for the minimum graph cut problem.
Week 4: Graph primitives. Depth- and breadth-first search. Connected components in undirected graphs. Topological sort in directed acyclic graphs. Strongly connected components in directed graphs.
Week 5: Dijkstra's shortest-path algorithm. Introduction to data structures. Heaps and applications.
Week 6: Further data structures. Hash tables and applications. Balanced binary search trees.
Instructors
- Tim Roughgarden - Computer Science
Content Designer

Leland Stanford Junior University, better known as Stanford University, is a private American university located in Silicon Valley, south of San Francisco.
Its motto is "Die Luft der Freiheit weht", which means "The wind of freedom blows".
Ranked among the world's top universities in most international rankings, it enjoys great prestige.
Platform

Coursera is a digital company offering massive open online course founded by computer teachers Andrew Ng and Daphne Koller Stanford University, located in Mountain View, California.
Coursera works with top universities and organizations to make some of their courses available online, and offers courses in many subjects, including: physics, engineering, humanities, medicine, biology, social sciences, mathematics, business, computer science, digital marketing, data science, and other subjects.