2017.6.12
关于并查集的问题,看到了一个很好的文章,通俗易懂,棒棒哒点击打开链接
int pre[100]; // i表示该节点,pre[i]表示头一个结点
int find(int x) //查找我的掌门 { int r=x; //委托r去找掌门 while(pre[r]!=r) //当r不是掌门时(r不是自己的上级) r=pre[r]; //r的上级继续找掌门 return r; }
人找到以后就可以进行合并任务
int join(int x,int y) //合并两个门派,可以做朋友啦 { int fx=find(x); int fy=find(y); if(fy!=fx) pre[fy]=fx; //谁做上级都可以 }
并查集可以用在最小生成树里面
并查集
最新推荐文章于 2024-08-19 22:30:22 发布