码迷,mamicode.com
首页 > 其他好文 > 详细

并查集

时间:2016-11-14 15:19:51      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:dfa   merge   style   ini   iostream   ace   合并   str   log   

并查集

主要用于两个互不相交的几何的归并。

把每一个集合可以看作一棵树,主要找到根节点fa[u]=u

合并的就是把它们的根节点的值改变。

# include <iostream>
using namespace std;

const int nmax = 100;
int fa[nmax];

void init(int n) {
    for (int i = 0; i <= n; i++)
        cin >> fa[i];
}

int findFa(int u) {
    if (fa[u] == u) return u;
    fa[u] = findFa(fa[u]);
    return fa[u];
}

void merge(int u, int v) {
    int fau = findFa(u);
    int fav = findFa(v);
    if (fau != fav) fa[u] = fav;
}

 

并查集

标签:dfa   merge   style   ini   iostream   ace   合并   str   log   

原文地址:http://www.cnblogs.com/IKnowYou0/p/6061607.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!