首页 > 其他分享 >广场舞老太太都看得懂的并查集

广场舞老太太都看得懂的并查集

时间:2024-08-09 14:23:21浏览次数:13  
标签:看得懂 int 查集 father 节点 老太太 p1 find

1.并查集为什么叫“并查集”这个名字?

因为并查集它的主要用处就是并(合并无交集集合)和查(查找元素或判断是否有该元素),当然路径压缩也得用到它。话说回来,并查集虽然是图论里的东西,但是本身像个树。

2.算法

说到并查集,就不得不提到压缩路径了,它是一个超级简单,但是很牛的算法,算法主要是先定义一个存储任意支点的父亲节点,(根节点的是他本身)遍历任意一个支点时,通过递归,来向上搜索,最后返回根节点,在回溯的途中,直接将自己的长辈节点们全部变成祖先的儿子,于是,(自己的长辈变成了哥哥和弟弟)根节点直接连接大部分以自己为祖先的节点,效率变高。

通常,在代码中,存父亲节点时,通常会用一个f[]数组。

int f[1e1000];

压缩路径(code)

int father[1e100];
int find(int x){
	if(father[x]==x)return x;
	return father[a]=find(father[a]);
}

当然,并查集也可以合并集合。

就是直接将别人的祖先变成自己的祖先。

(code)
void merge(int x,int y){
	int p1=find(x);
	int p2=find(y);
	if(p1!=p2) f[p1]=f[p2]
}

简单试试手

标签:看得懂,int,查集,father,节点,老太太,p1,find
From: https://blog.csdn.net/2201_75683257/article/details/141055620

相关文章

  • 为什么并查集路径压缩不需要维护rank?
    在基于rank进行优化的并查集中,路径压缩确实不需要维护rank数组。这是因为路径压缩和rank优化有不同的目的和作用机制。让我们详细解释一下原因:Rank优化的目的:Rank优化的主要目的是在合并两个集合时,让较小的树成为较大的树的子树,以保持树的平衡性。这样可以避免树变得过于深,从而......
  • 并查集详解
    并查集并查集是一种树形数据结构,用于处理一些不相交集合的合并及查询问题(即所谓的并、查)。具体详解见此并查集本身是真的太板了。。普及-以下的题基本全是板。直接见例题吧:板子一【模板】并查集题目描述如题,现在有一个并查集,你需要完成合并和查询操作。【】输入格式】第......
  • 数据结构 - 并查集路径压缩
    ......
  • 并查集
    并查集在每个集合中选择一个元素,作为整个集合的代表。使用一个树形结构存储每个集合,树上的每个节点都是一个元素,树根是集合的代表元素。存储时,记录每个节点\(x\)的父亲\(fa[x]\)。查询\(x\)和\(y\)是否在同一集合时,分别从两个点出发,寻找它们的树根。若树根相同,则说明\(......
  • Vs code写C语言代码配置(超级详细基础,小白也能看得懂)
    前言本文旨在为那些希望在VSCode中配置C语言开发环境的开发者提供一份详尽的指南。无论你是C语言的新手,还是希望提升开发效率的老手,本文都将引导你通过一系列简单的步骤,完成VSCode的C语言开发配置。我们将涵盖从安装VSCode开始,到配置编译器、调试器,以及安装必要的扩展,确保......
  • 数据结构 - 并查集基础
    ......
  • 【每日一题】【并查集】【力扣】695.岛屿的最大面积 C++
    力扣695.岛屿的最大面积695.岛屿的最大面积题目描述给你一个大小为m×nm\timesnm×n的二进制矩阵......
  • 树(tree) - 题解(带权并查集)
    树(tree)时间限制:C/C++2000MS,其他语言4000MS内存限制:C/C++256MB,其他语言512MB描述给定一个\(n\)个结点,\(n−1\)条边的有根树。第\(i\)条边可以用(\(a_i,b_i\))来描述,它表示连接结点\(a_i\)和结点\(b_i\)的一条边,其中结点\(a_i\)是结点\(b_i\)的父节点。......
  • 代码随想录算法训练营第57天 | 并查集理论基础
    并查集理论基础https://www.programmercarl.com/kamacoder/图论并查集理论基础.html107.寻找存在的路径https://kamacoder.com/problempage.php?pid=1179代码随想录https://www.programmercarl.com/kamacoder/0107.寻找存在的路径.html#思路并查集理论基础并查集用于判断......
  • 【学习笔记】并查集应用
    【学习笔记】并查集应用以NOI2001食物链为例の两种并查集用法。题目大意:规定每只动物有且仅有三种可能的种类\(A、B、C\),\(A\)会吃\(B\),\(B\)会吃\(C\),\(C\)会吃\(A\)。给定\(N\)只动物,\(K\)个语句。每个语句有如下两种可能的表达:1XY表示动物\(X\)与动......