gpt4 book ai didi

algorithm - 使用 DFS Kosaraju 查找 SCC 的最差运行时间

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:01:29 27 4
gpt4 key购买 nike

Kosaraju 的算法陈述如下:

#Input is graph G
1-define G_rev (links in reversed order)
2-Find the finishing times for G_rev using DFS
3-Run DFS for G in sequence based on finishing time

运行时间为 O(n+m),其中 n 是顶点数,m 是边数。如果我有一个完整的图G(所有节点都相连),边的数量是m = n*n。这个完全图 G 的运行时间是多少?当我查看 (1) 中的 DFS 代码时,我将从节点 1(外循环)开始,我将访问并完成所有其他节点。外循环将遍历所有其他节点并发现它们已完成并跳过它们。这同样适用于(2)。看来我不会访问 n*n 边。如果 G 是完备的,则只有一个 SCC(全图),运行时间为 O(n+m) 且 m < n*n 。这是对的吗?

最佳答案

这是正确的。你的运行时间是 O(n+m) = O(n²)。

请注意,如果您事先知道您的图表是完整的,那么在其上运行 SCC 就没有多大意义。

关于algorithm - 使用 DFS Kosaraju 查找 SCC 的最差运行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19475592/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com