Python Topologische Sortierung
Die topologische Sortierung eines gerichteten azyklischen Graphen (DAG) G besteht darin, alle Knoten in G in einer linearen Reihenfolge anzuordnen, sodass für jedes Knotenpaar u und v im Graphen gilt: Wenn die Kante (u,v)∈E(G) existiert, dann erscheint u vor v in der linearen Reihenfolge. Normalerweise wird eine solche lineare Reihenfolge als eine die topologische Ordnung erfüllende Sequenz bezeichnet, abgekürzt als topologische Sequenz. Einfach ausgedrückt: Aus einer partiellen Ordnung auf einer Menge eine totale Ordnung auf dieser Menge zu erhalten, diese Operation wird topologische Sortierung genannt.
In der Graphentheorie wird eine aus den Knoten eines gerichteten azyklischen Graphen zusammengesetzte Sequenz genau dann eine topologische Sortierung des Graphen genannt (Englisch: Topological sorting), wenn sie die folgenden Bedingungen erfüllt:
- Jeder Knoten erscheint genau einmal;
- Wenn A in der Reihenfolge vor B steht, dann gibt es keinen Pfad von B nach A im Graphen.
Beispiele
Die Ausgabe beim Ausführen des obigen Codes ist:
拓扑排序结果: [5, 4, 2, 3, 1, 0]Andere Erweiterungen
Python3-Beispiele