啊哈!算法阅读笔记(八)——精彩算法

烈酒焚心 提交于 2020-02-15 01:54:35

镖局运镖——图的最小生成树

  • Kruskal算法:

    首先按照边的权值从小到大排序,每次从剩余的边中选择权值较小且边的两个顶点不在同一个集合内的边(不产生回路的边),加入到生成树中,直到加入了n-1条边为止。

再谈最小生成树

  • Prim算法:
    1. 从任意一个顶点开始构造生成树,使用book数组标记已经加入生成树的顶点
    2. 用数组dis记录生成树到各个顶点的距离。
    3. 从数组dis中选出离生成树最近的顶点(设为j)加入到生成树中。再以j为中间点,更新生成树到每一个非树顶点的距离。
    4. 冲入第3步,直到生成树中有n个顶点为止。
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!