EMZETT.
Login

Topologische Sortierung

Kurz: Eine topologische Sortierung ordnet die Knoten eines gerichteten Graphen ohne Zyklus so an, dass jeder Knoten vor allen Knoten kommt, auf die er zeigt.

Genauer: Sie beantwortet die Frage „In welcher Reihenfolge muss ich Aufgaben erledigen, wenn manche vor anderen fertig sein müssen?”. Gibt es einen Zyklus, existiert keine gültige Reihenfolge.

Im Detail

  • Kahn-Algorithmus: Wiederholt Knoten ohne eingehende Kanten entnehmen und ihre ausgehenden Kanten entfernen.
  • DFS-Variante: Tiefensuche, Knoten nach dem vollständigen Besuch aller Nachfolger auf einen Stapel legen, am Ende umdrehen.
  • Zyklus-Erkennung: Bleiben Knoten übrig, gibt es einen Zyklus (zum Beispiel zyklische Abhängigkeit).
  • Einsatz: Build-Systeme, Paketmanager (Abhängigkeiten), Kursplanung, Tabellen-Neuberechnung.
  • Laufzeit: O(Knoten + Kanten).

Siehe auch: Graph (Datenstruktur)