图.kruskal算法(最小生成树)
算法思想
1.令初始状态有n个顶点而无边的非连通图 ,图中每个顶点自成一个连通分量。
2.在边集表中选择代价最小的边。
3.用Find函数(代码中有注释)查找若该边依附的顶点,若落在中不同的连通图上,则将此边相连,合成一个新的连通图,否则舍去此边。
重复2,3操作,直到把所有的点连到一起为止
值得注意的是,构成最小生成树的边是n-1个,因此,可以对添边操作进行计数,循环n-1次即可停止循环。
图示
补充说明
1.初始化图中六个小镇为独立的六个连通分量。
2.依次连接权制为3,4,4的边
3.直到找到权.
原创
2021-06-22 20:41:35 ·
200 阅读 ·
0 评论