Algorithm 添加新顶点后更新最小生成树
假设图G已经计算出最小生成树。如果我们向G添加一个新的顶点和关联边,我们如何快速更新最小树Algorithm 添加新顶点后更新最小生成树,algorithm,graph-algorithm,minimum-spanning-tree,Algorithm,Graph Algorithm,Minimum Spanning Tree,假设图G已经计算出最小生成树。如果我们向G添加一个新的顶点和关联边,我们如何快速更新最小树 我的初始解决方案是选择权重最小的新添加边,然后将此边添加到已计算的树中。但这种解决方案似乎是错误的。有人能给我一些关于这个问题的建议吗?谢谢添加最小权重边将给出错误的结果,因为现在您有了额外的边,并且其中的多个边可能是新MST的一部分。例如,请参见图像 您可以使用Prim算法。运行该算法时,只需考虑以前的MST边和新边。 这将起作用,因为如果在整个新图形上运行Prims,那么它将添加的所有边都将来自旧M
我的初始解决方案是选择权重最小的新添加边,然后将此边添加到已计算的树中。但这种解决方案似乎是错误的。有人能给我一些关于这个问题的建议吗?谢谢添加最小权重边将给出错误的结果,因为现在您有了额外的边,并且其中的多个边可能是新MST的一部分。例如,请参见图像 您可以使用Prim算法。运行该算法时,只需考虑以前的MST边和新边。
这将起作用,因为如果在整个新图形上运行
Prims
,那么它将添加的所有边都将来自旧MST或新边考虑到上述边缘,您可以使用任何其他
MST
查找算法以及Kruskal
。请检查是否有人可以帮助我修复上传图像的旋转。嗨,我刚刚找到了这个问题的解决方案,是的,您的答案绝对正确。实际上,算法的运行时是o(vlgv),Prim的方法使用Fibonacci堆。它比在运行时间为o(elgv)的更新图上简单地运行Prim的方法要快一点。最后,非常感谢您的快速回答