MST相关算法

时间:2013-01-30 18:48:37

标签: algorithm graph edge minimum-spanning-tree

给定具有权重函数G(V,E)的无向且连通的图w:E->R,边e(u,v)属于E.哪种算法以线性运行时复杂度运行,可以确保是否存在最小值生成包含边e?

的树

2 个答案:

答案 0 :(得分:2)

u 开始执行深度优先搜索,并忽略权重等于给定边缘或更重的权重的任何边缘。如果DFS没有访问 v 就完成了,这意味着没有给定边缘是最重边缘的循环,因此给定边缘包含在一些最小生成树中。

答案 1 :(得分:2)

这要求您两次实施Prim's Minimum Spanning Tree

  • 第一次正常运行算法。记下mst的重量。

  • 第二次,而不是像Prim算法通常那样以空树开始,而是从树上的节点u和v开始 - 这与边e(u,v)相同。然后继续建立mst。

  • 如果第二个mst与第一个mst的权重相同,那么边e(u,v)可以在mst中。如果没有,那就有一个较轻的东西。

顺便说一句,2 * O(n)仍然是O(n)