Topological sort porządkuje liniowo wierzchołki DAG (directed acyclic graph) tak, aby dla każdej krawędzi u->v wierzchołek u był przed v. Odpowiada na pytanie "w jakiej kolejności mogę wykonać te zadania biorąc pod uwagę ich zależności?"
Idea
Dwa popularne podejścia: (wielokrotnie usuwaj węzły ze stopniem wejściowym 0) lub (reverse post-order). Prawidłowe porządkowanie istnieje .
