博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
并查集学习笔记
阅读量:6429 次
发布时间:2019-06-23

本文共 463 字,大约阅读时间需要 1 分钟。

  并查集(Union-Find Sets),字面意思理解——合并,查找。给出一个集合,将其合并后用一个点代替一个集合的元素。

例如:

1    2

2    3

4    3

合并后就是

        2

    /        \

1             3

                 \

                     4

主要操作:

1、查找。

2、合并。

查找方法见

合并实现方法如下:

void Union(int root1, int root2){
int x = FindSet(root1), y = FindSet(root2); if( x == y ) return ; if( rank[x] > rank[y] ) parent[y] = x; else{
parent[x] = y; if( rank[x] == rank[y] ) ++rank[y]; } } void Initi(void){
memset(rank, 0, sizeof(rank)); for( int i=0; i < MAXSIZE; ++i ) parent[i] = i; }

转载地址:http://fenga.baihongyu.com/

你可能感兴趣的文章
JS 循环遍历JSON数据
查看>>
sentences in movies and teleplays[1]
查看>>
【20181023T1】战争【反向并查集】
查看>>
win7网络共享原来如此简单,WiFi共享精灵开启半天都弱爆了!
查看>>
iOS9 未受信任的企业级开发者
查看>>
paper 40 :鲁棒性robust
查看>>
做一个会使用PS的前端开发
查看>>
优化MySchool数据库(事务、视图、索引)
查看>>
硬件开发之pcb---PCB抗干扰设计原则
查看>>
关于字符串循环遍历的两种方法
查看>>
使用笔记:TF辅助工具--tensorflow slim(TF-Slim)
查看>>
CCF-NOIP-2018 提高组(复赛) 模拟试题(一)
查看>>
大话设计模式读书笔记3——单例模式
查看>>
Java多线程之ReentrantLock与Condition
查看>>
实验三
查看>>
Vue 项目构建
查看>>
[Ruby on Rails系列]2、开发环境准备:Ruby on Rails开发环境配置
查看>>
在反射中如何调用类中的Setter()AndGetter()方法
查看>>
android studio adb
查看>>
框架源码系列二:手写Spring-IOC和Spring-DI(IOC分析、IOC设计实现、DI分析、DI实现)...
查看>>