首页 > 其他 > 详细

并查集

时间:2018-08-19 14:27:07      阅读:139      评论:0      收藏:0      [点我收藏+]

并查集
int pre[100005],temp;//num是保存被指向的数目
int find(int x)
{
if(pre[x]==x) return x;
return pre[x]=find(pre[x]);
}
void Union(int x,int y)// 第一种是如果出现的两个点的祖宗是同一个人,那么说明之前已经有成一串了,在连就会变成环
{
int a=find(x),b=find(y);
if(a==b)
{
temp=1;//temp判断会不会有环
return ;
}
pre[b]=a;
}

并查集

原文:https://www.cnblogs.com/wzl19981116/p/9501126.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!