Course Schedule II
Return an order in which all courses can be taken, or an empty list if that is impossible.
Progress cannot be saved in this browser, so completed lessons will reset when you leave.
Lesson notes
Try it before you watch
Restate the problem in your own words, list the edge cases, and sketch a solution with its running time. Then play the video and compare.
Reveal the key idea
Kahn's algorithm: repeatedly take courses with no remaining prerequisites. If fewer than all courses are output, the graph has a cycle.
Pattern: Graphs. Model the problem as nodes and edges, then pick the traversal: DFS, BFS or a topological order.
Complexity
| Measure | Bound |
|---|---|
| Time | O(V + E) |
| Extra space | O(V + E) |
Walkthroughs often start from a simpler approach first; aim to reach these bounds. New to Big-O? Read understanding algorithmic complexity.