TOPOLOGICAL-SORT 算法:通常使用深度优先搜索(DFS)或凯恩斯算法(Kahn's algorithm)来实现。 A 是 TOPOLOGICAL-SORT 算法的某种变体或尝试(尽管它不能直接应用于有环图),B 是假设中更优的排序方法。 2. 天工: 要证明或反证“如果有向图G包含环路,则在算法TOPOLOGICAL-SORT(G)所生成的结点序列里,图G中与所生成序列不一致的‘坏’边的条数最少”这一论断,我们首先需要理解拓扑排序(TOPOLOGICAL-SORT 假设存在一个由TOPOLOGICAL-SORT(G)生成的结点序列,与图G中不一致的边的条数最少,记为k。 但这与假设相矛盾,因为我们假设TOPOLOGICAL-SORT(G)生成的结点序列中与图G不一致的边数最少为k。
(3)拓扑排序算法:在有向无环图中找到一种线性顺序,使得每个节点的前驱节点按照该顺序出现在它的前面,如 Kahn 算法和 topological-sort 函数。
1、 以下简答的算法能够对有向图进行拓扑排序: TOPOLOGICAL-SORT(G) a、 调用DFS(G)计算每一个节点v的f[v]。 b、 当每一个顶点完毕后。 3、 定理: TOPOLOGICAL-SORT (G) 算法可产生有向无回路图G的拓扑排序。 五、 强连通分枝 1、 在有向图中,假设不论什么两个不同的定点都相互可达。则称有向图是强连通的。