码迷,mamicode.com
首页 > 其他好文 > 详细

【模板】并查集

时间:2018-12-13 01:08:06      阅读:237      评论:0      收藏:0      [点我收藏+]

标签:数据   数据结构   root   函数   ret   b树   并查集   merge   lan   

主要函数

 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 }

 

【模板】并查集

标签:数据   数据结构   root   函数   ret   b树   并查集   merge   lan   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!