GraphsLeetCode 210

Lesson 47 of 76

Course Schedule II

Return an order in which all courses can be taken, or an empty list if that is impossible.

Watch on YouTube

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

Cost of the standard optimal approach for Course Schedule II
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.