让
G(V,E)
为权重函数w
的无向连通图。我们获得T
,G
的MST。现在,我们从e1, e2, e3
(也会显示在G
)中移除T
并获取新图G'
。描述一种有效的算法来查找G'
的MST。
我的直觉告诉我,我们可以抛出那些3
边缘并从G'
开始为T-{e1, e2,e3}
运行Prim算法。
我的直觉是否正确?可以帮我制定一下(或建议另一种方法)?
答案 0 :(得分:1)
Prim的算法通过添加边缘从单个顶点生成G中的树T,但是从T中删除边缘使其断开连接,因此您不能将其用作算法的部分输入。
然而,你可以使用Kruskal的算法,它可以生长森林T直到它连接起来。从G中删除T的一个边缘需要算法的一个新步骤。证明与算法本身的正确性证明一致。
答案 1 :(得分:1)
您可以使用Kruskal算法解决它,您可以从集合{S- {e1,e2,e3}}开始遍历权重> = max(e1,e2,e3)的边。在此步骤之前,图形将具有您需要的所有边缘。