【问题标题】:Update an MST after removing 3 edges from the graph从图中删除 3 条边后更新 MST
【发布时间】:2017-01-21 10:45:17
【问题描述】:

G(V,E) 成为具有权函数w 的无向连通图。我们得到T,MST 为G。现在我们从G也出现在T)中删除e1, e2, e3,并得到一个新的图表,G'。描述一个找到G'的MST的有效算法。

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

我的直觉正确吗?可以帮我制定这个(或建议另一种方法)吗?

【问题讨论】:

    标签: algorithm graph computer-science


    【解决方案1】:

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

    但是,您可以使用 Kruskal 的算法,该算法会生长一个森林 T 直到它被连接。从 G 中删除 T 的一条边需要算法的一个新步骤。证明类似于算法本身的正确性证明。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-06-03
        • 2018-11-13
        • 1970-01-01
        • 1970-01-01
        • 2017-08-26
        • 1970-01-01
        • 2023-03-26
        相关资源
        最近更新 更多