Sollin的最小生成树算法

时间:2010-11-19 20:46:04

标签: algorithm discrete-mathematics

是的,这是功课。我想知道是否有人可以解释Sollin(或Borůvka)算法确定最小生成树的过程。另外,如果您能解释如何在最坏的情况下确定迭代次数,那就太棒了。

2 个答案:

答案 0 :(得分:6)

在顶层,算法的工作原理如下:

  • 保留一些子图的生成树。最初,图的每个顶点都是m.s.t.没有边缘。
  • 在每次迭代中,对于每个生成树,找到将其连接到另一个生成树的最便宜的边。 (这是一种简化。)

在迭代方面最糟糕的情况是你总是合并树的对。在这种情况下,您拥有的树的数量将在每次迭代中减半,因此迭代次数在节点数中是对数的。

另请注意,选择要添加的边有一个特殊的技巧:如果不小心,当树A连接到树B时,可能会引入一个圆,树B连接到树C,树C连接到树答:(只有当所有选择的三条边具有相同的权重时才会发生这种情况。诀窍是要有一个任意但固定的断路器,就像边缘的固定顺序一样。)

那就是,这是我的索引卡概述。

答案 1 :(得分:0)

我正在使用外行的术语。

  • 首先选择一个顶点
  • 检查该顶点的所有边并选择最小的边 重量
  • 对所有顶点执行此操作(可以选择多个边缘 一次)
  • 您将获得连接组件。
  • 从这些连接的组件中选择一个重量最小的边缘。

将形成最小重量的生成树