实现(第 1 部分)
Coddy 克鲁斯卡尔算法:图算法 课程的第 5 课,共 9 课。
我们从并查集开始,它是用于检测环的核心机制。
挑战
中等Kruskal 的环检测依赖于并查集。我们先实现并查集,用它来统计连通分量。
编写一个名为 countSets 的函数,它接收 n 和扁平的 edges 数组(由三元组组成 [u, v, w, ...],边是无向的;这里忽略权重),并使用并查集计算连通分量的数量并返回。
例如,有 4 个顶点,边为 [0,1,5, 2,3,5] 时,共有 2 个连通分量:{0,1} 和 {2,3}。
亲手试试
#include <stdlib.h>
int countSets(int n, int* edges, int edges_size) {
// 在这里编写代码
return 0;
}
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
克鲁斯卡尔算法:图算法中的所有课
自己练习: C 在线编译器