Kruskal算法:是求连通网的最小生成树的另一种方法。与Prim算法不同,它的时间复杂度为O(eloge)(e为图中的边数),所以,适合于求边稀疏的网的最小生成树
时间复杂度:主要由排序方法决定,而它的排序方法只与图中边的条数有关,而与图中顶点的个数无关,当使用时间复杂度为O(elog2e)的排序方法时,Kruskal算法的时间复杂度即为O(log2e)
适用场景:图的顶点个数较多、而边的条数较少时,使用Kruskal算法构造最小生成树效果较好
算法步骤:
- 对边按照权值进行排序
- 选取一条边并判断该边的两个顶点是否属于同一集合,在则继续,不在则合并集合
例题:Kruskal算法求最小生成树