【模板】Kruskal

C++版本:

Kruskal

int kruskal() {
	sort(eg + 1, eg + 1 + E);//按照边权从小到大排序 
	init(V);//并查集初始化 
	int res = 0;
	for (int i = 1; i <= E; i++) {
		edge e = eg[i];
		if (!same(e.u, e.v)) {//如果没有在生成树内 
			unite(e.u, e.v);//合并 
			res += e.cost;//将边权加入答案 
		}
	}
	return res;
}
posted @ 2020-09-13 18:31  pjhui  阅读(89)  评论(0编辑  收藏  举报