从图中删除3条边后更新MST

时间:2016-09-13 18:23:50

标签: algorithm graph computer-science

  

G(V,E)为权重函数w的无向连通图。我们获得TG的MST。现在,我们从e1, e2, e3也会显示在G )中移除T并获取新图G'。描述一种有效的算法来查找G'的MST。

我的直觉告诉我,我们可以抛出那些3边缘并从G'开始为T-{e1, e2,e3}运行Prim算法。

我的直觉是否正确?可以帮我制定一下(或建议另一种方法)?

2 个答案:

答案 0 :(得分:1)

Prim的算法通过添加边缘从单个顶点生成G中的树T,但是从T中删除边缘使其断开连接,因此您不能将其用作算法的部分输入。

然而,你可以使用Kruskal的算法,它可以生长森林T直到它连接起来。从G中删除T的一个边缘需要算法的一个新步骤。证明与算法本身的正确性证明一致。

答案 1 :(得分:1)

您可以使用Kruskal算法解决它,您可以从集合{S- {e1,e2,e3}}开始遍历权重> = max(e1,e2,e3)的边。在此步骤之前,图形将具有您需要的所有边缘。