并查集

并查集是一种数据结构,便于查找同一特性的元素,因而是我们需要学习的

 
并查集是一种树型的数据结构,用于处理一些不相交集合的合并及查询问题。常常在使用中以森林来表示。
集就是让每个元素构成一个单元素的集合,也就是按一定顺序将属于同一组的元素所在的集合合并。
                                      -------摘自百科
 
下面代码:
const int maxn=10001;

int father[maxn];

void dateins()//初始化数组
{
    for(i=1;i<=n;i++)
        father[i]=i;
}

int _findx(int x)//查找所在的数,赋值
{
    if(father[x]!=x)
        father[x]=_find(father[x])
    return father[x];
}

void datecin()
{
  int m; scanf(
"%d",&m); for(int i=1;i<=m;i++) { scanf("%d %d",&a,&b); a=_find(a); b=_find(b); father[a]=b; } } void datecal(int a,int b) { a=_find(a); b=_find(b); if(a==b) { printf("Yes "); } else { printf("No "); } }

以上为并查集的内容,其实就是建立数组指向某个值,最后将其统一到一个点,从而统一到一个集合,我们可以根据这个点判断它是否在这个集合里

原文地址:https://www.cnblogs.com/byzsxloli/p/5404367.html