最小生成树 Kruskal(克鲁斯卡尔)算法

最小生成树

条件:

  1. 结构中不能形成环
  2. 任意两个顶点间是互通的
  3. n个点,n-1个边
  4. 寻找最少权值和。

应用:顶点是城市,边是连接城市的光缆,最少权值是最少铺设城市的成本。

Kruskal算法:

  1. 将所有的边取出放入一个列表中
  2. 并按照边权值从小到大的顺序重新排列
  3. 回添:从最小的权值的边以此存入顶点图中
  4. 判断:如果新添加的边,使树形成了环。那么这条边就不可以用。
  5. 如果没有形成环,就继续添加。
  6. 直到选择了n-1条边,n是顶点个数。
  7. 这时,最小生成树以构建完成。
发布了13 篇原创文章 · 获赞 0 · 访问量 670

猜你喜欢

转载自blog.csdn.net/Somewater_/article/details/103006488