【问题标题】:regenerating Minimum Spanning Tree in linear time?在线性时间内重新生成最小生成树?
【发布时间】:2012-10-11 17:51:37
【问题描述】:

如果有一个图 G 有 V 个顶点和 E 个边,并且我已经知道 G 的最小生成树 T,然后如果从 E 中取出一些边并将它们的权重增加 50,这些边可能或者可能不在最小生成树中。牢记上述情况,有没有办法在线性时间内重新生成新的最小生成树? 注意:修改权重的边数只有5个。

【问题讨论】:

  • 你知道哪个算法生成了第一棵生成树吗?
  • 第一棵生成树是由克鲁斯卡尔算法计算出来的。
  • 我在想我们是否可以这样做:1)只需将已调整权重的边与未调整权重的边分开。 2)然后将权重没有被修改的边一个接一个地插入到T中,寻找一个循环,并从中剔除权重高的边。但这对我来说似乎不是线性的。

标签: minimum-spanning-tree minimum-size


【解决方案1】:

您可能需要查看 SO 问题 here 。我相信这是由 Szpira & Pan 在this paper 中直接解决的,并且可以在 O(n) 时间内完成。

【讨论】:

  • 但是考虑到只修改了 5 条边,难道不能有更简单的解决方案吗?
  • 5 条边 = 基本上是一条边的 5 倍 @ 一次,为此我给出了参考。
猜你喜欢
  • 2014-05-17
  • 1970-01-01
  • 2017-04-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多