我正在研究MST算法。我很好奇找到 prims 和 boruvka 算法之间的关键区别,但网上资源除了它们的实现和算法之外没有太多关于它们的内容。如果有人可以解释,那将会有很大的帮助。谢谢!
最佳答案
两种算法都使用以下事实:
对于每个顶点v,都存在一个最小生成树T,使得与v相关的最便宜的边属于T。
对于每条边 e,包含 e 的(最小)生成树与 e 收缩的图的(最小)生成树自然一一对应。
Prim 和 Borůvka 以不同的方式利用这些事实。 Prim 选择根顶点 r 并重复收缩与 r 相关的最便宜的边(通常的描述避免图收缩,但与此等效),直到只剩下 r。 Borůvka 反复“并行”收缩所有最便宜的入射边,直到只剩下一个顶点。
您可以通过混合和匹配收缩策略来创建各种最小生成树算法。
关于algorithm - prims 和 boruvka 算法的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68423169/