Algorithm 最小生成树的Boruvka算法

Algorithm 最小生成树的Boruvka算法,algorithm,graph,minimum-spanning-tree,Algorithm,Graph,Minimum Spanning Tree,我在考虑用C/C++实现Boruvka MST算法。该算法创建N个顶点集,并为每个顶点选择代价最小的边。我想这样编码:我有一个每个顶点的结构:顶点标记及其所有边。因此,我继续分析第一个顶点,选择它的最小边:然后将顶点和目标顶点添加到结果中。所以我继续对所有顶点进行迭代。但是用这种方法,我必须对每个顶点的所有边进行排序,这似乎是禁止计算的 请让我知道我的推理是否正确,并帮助我找到解决方案, 谢谢大家! 你所描述的不是Boruvka步骤,而是Tarjan的紫外线规则。Boruvka步骤将同时为所有剩

我在考虑用C/C++实现Boruvka MST算法。该算法创建N个顶点集,并为每个顶点选择代价最小的边。我想这样编码:我有一个每个顶点的结构:顶点标记及其所有边。因此,我继续分析第一个顶点,选择它的最小边:然后将顶点和目标顶点添加到结果中。所以我继续对所有顶点进行迭代。但是用这种方法,我必须对每个顶点的所有边进行排序,这似乎是禁止计算的

请让我知道我的推理是否正确,并帮助我找到解决方案,
谢谢大家!

你所描述的不是Boruvka步骤,而是Tarjan的紫外线规则。Boruvka步骤将同时为所有剩余顶点选择最小边,然后才对所有这些顶点进行更新。然后,对于更新,您不必对新的融合列表进行排序,同样,您只需合并它们。这可以在每个Boruvka步骤的总线性时间内完成。