Prim算法得到的图的最小生成树

Posted

技术标签:

【中文标题】Prim算法得到的图的最小生成树【英文标题】:Minimum spanning tree of graph obtained by Prim's algorithm 【发布时间】:2014-11-13 17:35:40 【问题描述】:

我需要一些关于 Prim 算法问题的帮助:

设 T 为 Prim 算法得到的图 G 的最小生成树。设 Gnew 是通过向 G 添加一个新顶点和一些带权重的边获得的图,将新顶点连接到 G 中的一些顶点。我们可以通过将一个新边添加到 T 来构造 Gnew 的最小生成树吗?如果您回答是,请说明如何;如果不是,请解释原因。

提前谢谢你!!

【问题讨论】:

【参考方案1】:

我们可以通过添加一个来构造 Gnew 的最小生成树吗? T 的新边?

没有。一般不会。 假设T已经通过考虑顶点的顺序生成v1,v2,...,vn-1

vn为新顶点,(v1,vn)为加权边(v1是T的根),如果(v1,vn)的权重小于(v1,v2)在T中的权重,这不会不再是 MST。

【讨论】:

【参考方案2】:

并非在所有情况下我们都可以在 T 中添加新边,这取决于新边的权重,因为有时如果新边的权重小于图中的其他权重,旧的 MST(T) 会发生变化

【讨论】:

【参考方案3】:

不,这可能更容易通过反例来形象化:

从上面可以看出,与原始 MST 相比,新 MST 不仅缺少边。它还使用两个顶点而不是一个顶点。

【讨论】:

以上是关于Prim算法得到的图的最小生成树的主要内容,如果未能解决你的问题,请参考以下文章

无向带权图的最小生成树算法——Prim及Kruskal算法思路

图的最小生成树prim算法模板

图的最小生成树——Prim算法

普里姆Prim算法 - 图解最小生成树

最小生成树算法 1.Prim算法

最小生成树之Kruskal算法和Prim算法