哪种最小生成树算法在哪种情况下使用

时间:2013-01-03 16:07:42

标签: algorithm data-structures graph graph-algorithm

我是最小生成树的新手,并试图找出在任何特定情况下使用哪种MST算法。任何人都可以提供一些示例,其中任何一种MST算法比其他算法更适合

2 个答案:

答案 0 :(得分:1)

查看此pdf

快速摘要(引用页面):

“Boruvka和Kruskal的算法很清楚 如果应用于现实世界更有用,而Prim的运行时间随订单增长太快 在串行处理环境中使用的图表。“

“在三种算法中,Boruvka在考虑并行计算时最有希望。 它可以通过设计进行并行化,并且可以在本地搜索最小的边缘 在每个步骤之后组合生成的树。多台计算机之间的任务划分 处理节点将是Boruvka算法的逻辑扩展。但是,可以看出 从本文中,Kruskal的算法在串行环境中效率更高。“

答案 1 :(得分:1)

我想说最小生成树问题的两个主要解决方案在图表的表示方式上有所不同。虽然Kruskal适用于边缘列表,但Prim的算法可以更好地处理邻域列表。如果我决定使用图形表示,我更愿意实现Kruskal,因为我觉得它更容易实现,但在这方面差别很小 - 所以这取决于你。