并查集(直接往根节点连的方式)

来源:互联网 发布:网点分布图制作软件 编辑:程序博客网 时间:2024/06/11 20:29

用数组的下标存放集合元素,数组中所对应的值就是其根节点(它的双亲结点的)的下标。  在连接的时候采用直接往其root连接。  虽然是多叉树,但是对并查集中所需要处理的东西更加好处理。

#include<iostream>using namespace std;//直接往根节点上连的情况。#define N 10010int root[N];void ini(){    int i;    for(i = 1;(root[i] = i) < N; ++i);//0号节点不要}void findset(int x){    if(root[x] != x)        root[x] = findset(root[x]);        return root[x];}void uni(int x,int y){    if(findset(x) != findset(y))        root(findset[x]) = findset[y];}int main(){                return 0;}


原创粉丝点击