Borůvka algorithm
#Borůvka algorithm 我好无聊啊,直接把wiki的算法介绍翻译一下把。 wiki关于Borůvka algorithm的链接: 链接 Borůvka algorithm是一个在所有边权都是不同的图中找到最小生成树的贪心算法。(其实边权相同也可以做,具体见后文),或者在一个不联通的图找到最小生成树。 它由 Otakar Borůvka (人名)第一次发表在1926年,被作为给Moravia(一个地区)一种有效的电网建设方法。这个算法被Choquet在1938年重新发现,在1951年,它又被 Florek, Łukasiewicz, Perkal, Steinhaus, and Zubrzyck重新发现。又在1965年被Georges Sollin发现。这个算法经常被叫做Sollin's algorithm.特别在 parallel computing的文献中。 算法过程: 一开始每个点自成一个联通块。 每次所有联通块都找一条边权最小的边,其中一端在该联通块内而另一端不在,接下来加入这些边并合并联通块。 重复上述操作直到没有联通块可以合并。 一个细节:由于我们的写法问题,在边权相同的特殊情况下,我们会连接形成环,所以我们增加一个维度来排序。 看一下这东西流程: 可以用切割性质证明算法的正确性。 切割性质: 将点集V分成S和V-S,一端在S内另一端在V-S内边权最小的边