Kruska算法
2016-10-06 21:20:00 0 举报
Kruskal算法是一种用于解决最小生成树问题的贪心算法。它的基本思想是:按照边的权值从小到大的顺序将边添加到最小生成树中,但在添加过程中需要确保不会形成环。为了判断是否会形成环,算法使用了一个并查集数据结构来维护顶点之间的关系。当添加一条边时,首先检查这条边的两个顶点是否已经在同一个连通分量中,如果是,则说明形成了环,不能添加这条边;否则,将这两个顶点所在的连通分量合并,并将这条边添加到最小生成树中。重复这个过程,直到所有的边都被考虑过。Kruskal算法的时间复杂度为O(ElogE),其中E是图中边的数量。
作者其他创作
大纲/内容
1
V5
V4
2
V2
6
4
V6
V1
第五步
V3
第三步
3
这条边不能选,因为这条边的两个顶点已经在一个连通分量上了
从图中选择一条权值最小的边,需保证这条边的两个顶点不在同一个连通分量上
5
第一步
第二步
从图中选择一条权值最小的边
原图
Kruskal算法流程
第四步
收藏
收藏
0 条评论
下一页