When to Use

Pattern triggers

Look for these signals in the problem:

  • "Order tasks" with dependencies: Topological sort finds valid sequence respecting all constraints.
  • "Detect cycle" in directed graph: If topological sort fails (not all nodes processed), cycle exists.
  • "Course schedule" or prerequisites: Classic topological sort application with dependency edges.
  • "Build order" for compilation: Modules must compile before dependents.
  • "Longest path" in DAG: Process nodes in topological order, relaxing edges.