假设给定给定图 G(具有 n 个顶点和 m 个边)的最小生成树 T,以及我们将添加到 G 的权重为 w 的新边 e = (u, v)。
I) 检查 T 是否仍然是 MST。II) 如果不是,给出一个有效的算法来找到图 G + e 的最小生成树。
假设给定给定图 G(具有 n 个顶点和 m 个边)的最小生成树 T,以及我们将添加到 G 的权重为 w 的新边 e = (u, v)。
I) 检查 T 是否仍然是 MST。II) 如果不是,给出一个有效的算法来找到图 G + e 的最小生成树。
您当前的 MSTT
包含n-1
边。e = (u,v)
将带有权重的新边添加到您的图形中会在图形中w
创建一个循环(添加边)。如果新的边权重 ( ) 小于此循环中权重最高的边的权重,那么您可以通过将较高权重的边替换为 来创建较低权重的 MST 。否则,您当前的 MST 将保持最佳状态。C
T + e
T
e
w
C
e
算法基本上是这样的:
P
找到从u
到v
的唯一路径T
e*
的边P
w*
w < w*
吗?
T' = T - e* + e
MST 是G + e
,weight(T') = weight(T) - w* + w
T' = T
是 MSTG + e