添加新节点后如何找到MST?

时间:2011-05-25 11:39:56

标签: algorithm graph graph-theory minimum-spanning-tree

在添加新节点或更改路径距离后,我们如何找到MST (Minimum Spanning Tree)

我需要帮助来解决这个问题。有人能帮助我吗?

感谢。

1 个答案:

答案 0 :(得分:3)

添加新边时:

您需要从修改/新边缘的一侧执行图形遍历,最简单的是DFS。如果你可以回到之前的节点,你就有一个循环。

在该周期中,您需要移除最大边缘。你将再次获得一棵树,它是最小的一棵树。

如果您更改边缘权重,则需要:

  • 通过暂时删除新边缘,将图表断开为2个组件A和B.
  • 如果新边缘的重量比以前小,则可以将其重新放入。否则:
  • 迭代您之前处理过的边缘,并检查它们是否加入A到B.
  • 从中选择最小的边缘,并使用该边缘连接组件。

再次,您将获得一个新的最小生成树。

总的来说,这是O(V+E),是反阿克曼的一小部分。