Python Tri topologique
Le tri topologique d'un graphe orienté acyclique (DAG) G consiste à disposer tous les sommets de G en une séquence linéaire, de telle sorte que pour toute paire de sommets u et v du graphe, si l'arête (u,v)∈E(G), alors u apparaît avant v dans la séquence linéaire. Habituellement, une telle séquence linéaire est appelée une séquence satisfaisant l'ordre topologique, abrégée en séquence topologique. En termes simples, obtenir un ordre total sur un ensemble à partir d'un ordre partiel sur cet ensemble, cette opération est appelée tri topologique.
En théorie des graphes, une séquence composée des sommets d'un graphe orienté acyclique est appelée un tri topologique du graphe (anglais : Topological sorting) si et seulement si elle satisfait les conditions suivantes :
- Chaque sommet apparaît exactement une fois;
- Si A est classé avant B dans la séquence, alors il n'existe aucun chemin de B à A dans le graphe.
Exemples
La sortie de l'exécution du code ci-dessus est :
拓扑排序结果: [5, 4, 2, 3, 1, 0]Autres extensions
Exemples Python3