向图表添加新边缘并查找新生成树

时间:2013-05-28 18:27:13

标签: minimum-spanning-tree

假设给出了给定图G的最小生成树T(具有n个顶点和m个边)以及我们将添加到G的权重w的新边e =(u,v)。

I)检查T是否仍然是MST。 II)如果没有,给出一个有效的算法来找到图G + e的最小生成树。

1 个答案:

答案 0 :(得分:7)

您当前的MST T包含n-1个边缘。在权重e = (u,v)的新边w的图表中添加完全在图CT + e T e }添加了边w)。如果新边缘权重(C)小于此周期e中权重最大边缘的权重,则可以通过用{{替换更高权重边缘来创建权重较低的MST 1}}。否则,您当前的MST仍然是最佳的。

算法基本上是这样的:

  1. P
  2. 中找到uv的唯一路径T
  3. 找到e*中具有最大权重P
  4. 的边w*
  5. w < w*
    • 如果是,那么T' = T - e* + eG + e的MST,weight(T') = weight(T) - w* + w
    • 如果没有,则T' = TG + e
    • 的MST