第八章 更多精彩算法
镖局运镖——图的最小生成树
- Kruskal算法:
首先按照边的权值从小到大排序,每次从剩余的边中选择权值较小且边的两个顶点不在同一个集合内的边(不产生回路的边),加入到生成树中,直到加入了n-1条边为止。
再谈最小生成树
- Prim算法:
- 从任意一个顶点开始构造生成树,使用book数组标记已经加入生成树的顶点
- 用数组dis记录生成树到各个顶点的距离。
- 从数组dis中选出离生成树最近的顶点(设为j)加入到生成树中。再以j为中间点,更新生成树到每一个非树顶点的距离。
- 冲入第3步,直到生成树中有n个顶点为止。
来源:CSDN
作者:PURE Li
链接:https://blog.csdn.net/Lip041/article/details/104302080