type
status
date
slug
summary
tags
category
icon
password
通过一个数组表示一整个森林,根据每个叶子能快速在数组中映射到他的树根节点。 通常用于解决将大量数据分成几组然后需要找到一共有几组或者找到每个元素在哪个组之类的问题。
并查集是一种用于管理元素所属集合的数据结构,实现为一个森林,其中每棵树表示一个集合,树中的节点表示对应集合中的元素。
顾名思义,并查集支持两种操作:
- 合并(Union):合并两个元素所属集合(合并对应的树)
- 查询(Find):查询某个元素所属集合(查询对应的树的根节点),这可以用于判断两个元素是否属于同一集合
并查集在经过修改后可以支持单个元素的删除、移动;使用动态开点线段树还可以实现可持久化并查集。 ————- OIWIKI
核心思路
引入问题(PS这个AI写的还挺有意思的)
神秘岛屿的秘密宝藏:并查集的冒险将这些洞穴项链的情况抽象成数组
例题
这道题就是一道经典的并查集题目,甚至输入都不需要怎么处理,给的数据就是一条一条两个点之间的关系,初始化一个并查集的数组,然后遍历构建即可。最后遍历一遍这个数组,获取到联通的区域。简单代码如下
- Author:SAKURAAE
- URL:https://tangly1024.com/article/41ee2ede-a719-4bf9-a263-4e2cacc2e116
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!