向图表添加新边缘并在O(n)中查找新生成树

时间:2011-01-26 20:06:44

标签: algorithm graph-theory

假设给出了给定图G的最小生成树T(用n表示) 顶点和m边)和我们将添加到G的权重w的新边e =(u,v)。 给出一个有效的算法来找到图G + e的最小生成树。 您的算法应在O(n)时间运行以获得完全信用。

(c)来自Skiena手册

从u或v开始Prim或Kruskal alg,直到我们到达给定生成树路径的片段?似乎新生成树不会从一个新边缘发生很大变化。

1 个答案:

答案 0 :(得分:22)

确定G中新边的端点之间的路径。如果该路径中的最大长度边缘大于新边缘的最大长度边缘,请将其替换为新边缘。这在O(N)时间内运行。

来源:Trail Maintenance IOI 2003