如果删除了不断开图形的边,如何找到新图形的 MST

Posted

技术标签:

【中文标题】如果删除了不断开图形的边,如何找到新图形的 MST【英文标题】:How to find the MST of a new graph if an edge which does not disconnect the graph is deleted 【发布时间】:2017-05-03 11:34:41 【问题描述】:

这是我最近遇到的一个考试问题。如果有人能给我一个答案,将不胜感激。

确切的问题:给定边加权图 G 的最小生成树 (MST),假设删除 G 中不断开 G 的边。描述如何找到新图的 MST。 ?

【问题讨论】:

【参考方案1】:

首先,如果该边不在您的最小生成树中,那么您显然不需要做任何事情。

假设删除的边在 MST 中。删除后,剩下两个连接的组件 SubMST1SubMST2。现在要获得新的 MST,您必须找到连接这两个组件的权重最小的边。 cut 属性保证这条边必然在新图的 MST 中。被删除的边没有断开图的事实证明了该边的存在。

通过边缘的简单传递将允许您识别它(最坏情况的复杂性是 O(E),假设您可以检查恒定时间,如果边缘的源和目标位于给定的一组顶点——如果你使用哈希表是合理的)。

【讨论】:

以上是关于如果删除了不断开图形的边,如何找到新图形的 MST的主要内容,如果未能解决你的问题,请参考以下文章

如何确定删除给定循环是不是会断开图表

如何删除sqlserver数据库

如何将canvas所画的图形清除或者删除掉?

通过从每个顶点中选取最小边缘的MST算法?

贪心算法之prim算法的证明

如何在 Matplotlib 中扩展图形底部的边距?