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