最小生成树

 

kruskal:
输入:边集E

for each <u,v> in E

        //用并查集实现

        if u.root != v.root //u v 不在同一集合(不会产生回路)

             union(u,v)//加入变<u,v>

合并同时记录边数,由于n个点的生成树只有n-1条边,一旦加够了,就停