首页 > 其他 > 详细

【模板】并查集

时间:2018-12-13 00:28:46      阅读:199      评论:0      收藏:0      [点我收藏+]

主要函数

 Merge :合并两个并查集

 GetRoot :查询某个元素在哪个集合

 Query :查询两个元素是否属于同一集合

数据结构

 parent[i]=j :j是i的父节点

Code

 1 int parent[N];
 2 
 3 int GetRoot(int a)
 4 {
 5     if( parent[a] != a)
 6         parent[a] = GetRoot(parent[a]);
 7     return parent[a];
 8 }
 9 
10 
11 int Merge(int a,int b)
12 { //把b树根挂到a树根下
13     parent[GetRoot(b)] = GetRoot(a) ;
14 }
15 
16 bool Query(int a,int b)
17 {
18     return GetRoot(a) == GetRoot(b) ;
19 }

 

【模板】并查集

原文:https://www.cnblogs.com/yalphait/p/10111667.html

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