Топологическая сортировка в Python
Топологическая сортировка ориентированного ациклического графа (DAG) G заключается в упорядочивании всех вершин G в линейную последовательность таким образом, что для любой пары вершин u и v графа, если ребро (u,v)∈E(G), то u появляется перед v в линейной последовательности. Обычно такую линейную последовательность называют последовательностью, удовлетворяющей топологическому порядку, сокращённо — топологической последовательностью. Проще говоря, получение полного порядка на множестве из частичного порядка на этом множестве называется топологической сортировкой.
В теории графов последовательность, составленная из вершин ориентированного ациклического графа, называется топологической сортировкой графа (англ.: Topological sorting), если и только если она удовлетворяет следующим условиям:
- Каждая вершина встречается ровно один раз;
- Если A стоит перед B в последовательности, то в графе нет пути из B в A.
Примеры
Вывод выполнения приведенного выше кода:
拓扑排序结果: [5, 4, 2, 3, 1, 0]Другие расширения
Python3 Примеры