【并查集】并查集的基本操作总结
并查集的定义:“并”,Union(合并);“查”,Find(查找);“集”,Set(查找);
- 并查集的实现:
int father[N]; //使用一个数组记录 father[1]=1; //1的父节点是本身 father[2]=1; //2的父节点是1
- 并查集的初始化:
for(int i=1;i<=n;i++){father[i]=i; }
- 并查集的查找:
int findFather(int x){while(x!=father[x]){x=father[x];}return x; }
- 并查集的合并:
void Union(int a,int b){int faA=findFather(a);int faB=findFather(b);if(faA!=faB){father[faA]=faB;} }
- 并查集的路径压缩:
int findFather(int a){ //由于x在下面的while中会变成根结点,所以先把x保存一下int x=a; while(x!=father[x]){x=father[x];}//到这里,x存放的是根结点,下面吧路径上的所有结点的father都改为根结点while(a!=father[a]){int z=a; //这里a要被father[a]覆盖,所以先保存一下a的值a=father[a]; //回溯a的父节点father[z]=x; //把原先a的父节点改为根结点z}return x; //返回根节点 }
【并查集】并查集的基本操作总结相关推荐
- 绿建科技加密图纸查看器安装_施工图看不懂?1.1G工程施工图纸详解,253页图文合集一查就清楚...
施工图看不懂?1.1G工程施工图纸详解,253页图文合集一查就清楚 只要是对建筑行业,有所了解的朋友都清楚,钢筋施工图纸对于建筑物,有着举足轻重的地位!一点都不得马虎大意,接触建筑行业,第一步还是需 ...
- 洛谷 P1892 [BOI2003]团伙(并查集变种 反集)
[BOI2003]团伙 题目描述 现在有 n n n 个人,他们之间有两种关系:朋友和敌人.我们知道: 一个人的朋友的朋友是朋友 一个人的敌人的敌人是朋友 现在要对这些人进行组团.两个人在一个团体内当 ...
- 服务器查看不到集群信息,集群服务器查看内存
集群服务器查看内存 内容精选 换一换 用户可以查看在不同云服务区已经申请成功的专属云.进入指定的专属云,还可以查看该专属云内专属计算资源详情及云服务器等专属云内基础服务的实例信息.登录管理控制台.单击 ...
- 集运系统,集运下单系统,国际物流集运系统,转运系统源码 集运系统源码
集运系统,集运下单系统,国际物流集运系统,转运系统源码 集运系统源码 系统简介 一.包裹管理 扫描入库 未入库包裹 已入库包裹 待认领包裹订单 已创建订单包裹 二.订单管理 全部订单 已付款 待付款 ...
- 使用matlab中PCA包进行训练集与测试集处理
使用matlab中PCA包进行训练集与测试集处理 1. matlab中PCA包的使用与分析 2. 训练集与测试集降维处理 1. matlab中PCA包的使用与分析 [coeff, score, lat ...
- SpringBoot整合MongoDB以及副本集、分片集群的搭建
整合springboot应用 说明: 这里主要以 springboot 应用为基础应用进行整合开发. Spring Data : Spring 数据框架 JPA .Redis.Elasticsearc ...
- ELK集群+Kafka集群+FileBeat——命运多舛的安装采坑之路
欢迎大家关注我的公众号,添加我为好友! 开始的时候感觉日志监控是比较NB的技术,感觉很神奇,那么多日志,为什么一下子就能够找到自己想要的?后来初步了解到了ELK(ElasticSearch + Log ...
- 【Python】深度学习中将数据按比例随机分成随机 训练集 和 测试集的python脚本
深度学习中经常将数据分成 训练集 和 测试集,参考博客,修改python脚本 randPickAITrainTestData.py . 功能:从 输入目录 中随机检出一定比例的文件或目录,移动到保存 ...
- FIRST集与FOLLOW集构造步骤
首先,这两个集主语是候选式,是V*中的一个终结符/非终结符. 由于FOLLOW集的定义和构造步骤里面都涉及FIRST集,故先介绍FIRST集. 一.FIRST集的定义如下: FIRST(α)={a|α ...
- ML基础 : 训练集,验证集,测试集关系及划分 Relation and Devision among training set, validation set and testing set...
首先三个概念存在于 有监督学习的范畴 Training set: A set of examples used for learning, which is to fit the parameters ...
最新文章
- python3 requests 错误EOF occurred in violation of protocol 解决方法
- 一个jsp页面中多个提交按钮提交不同的页面
- Centos 6.4使用本地yum源
- cad画1000线太长了_为什么你画CAD图没别人快?今天就教你几招!
- 机器学习实践三---神经网络学习
- 突然发现一个很好用Golang的json库
- vss中项目与服务器断开绑定之后进行重新绑定得方法
- 《Flutter 从0到1构建大前端应用》读后感—第5章【动画】
- 拓端tecdat|R语言ARMA-EGARCH模型、集成预测算法对SPX实际波动率进行预测
- c语言 程序段 数据段,C程序段(代码段、数据段、BSS段以及堆栈)的详解
- python 模拟登陆QQ空间
- HTML和CSS实现京东登录页面(html,css代码详解)
- 【电商数仓】数仓即席查询之Kylin简介,安装和使用
- 关于前辈RPC学习的经验分享:我的DedSec RPC
- python分类器分5类_Python机器学习之K近邻分类器
- Linux 卸载程序
- Arduino实时时钟设计(TM1637数码管显示)
- Vue来回切换几次页面后,echart/页面越来越卡
- FPGA内部如果有无符号数转换
- 将Cocos Creator项目运行到微信小程序