最小生成树-Kruskal

2022/2/12 23:48:06

本文主要是介绍最小生成树-Kruskal,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

最小生成树-Kruskal

  • 将所有边按照边权升序排列

  • 依次考虑所有边,如果边的两端在不同联通块内,将该边加入生成树,合并联通块

  • 并查集维护每个点处于哪个连通块内

  • for(int i = 0;i<m;i++){
        int u = edge[i].u;
        int v = edge[i].v;
        int x = find(u);
        int y = find(v);
        if(u == v) continue;
        f[u] = v;
        cnt++;//记录数的边权
        add_edge(u,v,w);
        add_edge(v,u,w);
    }
    


这篇关于最小生成树-Kruskal的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程