并查集基础 曾经终败给现在 2024-03-16 23:18 56阅读 0赞 #### 一、概念及其介绍 #### 并查集是一种树型的数据结构,用于处理一些不相交集合的合并及查询问题。 并查集的思想是用一个数组表示了整片森林(parent),树的根节点唯一标识了一个集合,我们只要找到了某个元素的的树根,就能确定它在哪个集合里。 #### 二、适用说明 #### 并查集用在一些有 **N** 个元素的集合应用问题中,我们通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中。这个过程看似并不复杂,但数据量极大,若用其他的数据结构来描述的话,往往在空间上过大,计算机无法承受,也无法在短时间内计算出结果,所以只能用并查集来处理。 #### 三、并查集的基本数据表示 #### ![ab03faad27daf2930612a822622b8ae3.png][] 如上图 **0-4** 下面都是 **0**,**5-9** 下面都是 **1**,表示 **0、1、2、3、4** 这五个元素是相连接的,**5、6、7、8、9** 这五个元素是相连的。 ![bf8231d9db15e72ffb8033fbf768f1b1.png][] 再如上图 **0、2、4、6、8** 下面都是 **0** 这个集合,表示 **0、2、4、6、8** 这五个元素是相连接的,**1、3、5、7、9** 下面都是 **1** 这个集合,表示 **0,1、3、5、7、9** 这五个元素是相连的。 构造一个类 UnionFind,初始化, 每一个id\[i\]指向自己, 没有合并的元素: > ... > public UnionFind1(int n) \{ > count = n; > id = new int\[n\]; > // 初始化, 每一个id\[i\]指向自己, 没有合并的元素 > for (int i = 0; i < n; i++) > id\[i\] = i; > \} > ... #### Java 实例代码 #### ### UnionFind.java 文件代码: ### > package runoob.union; > > public class UnionFind\{ > private int\[\] id; > // 数据个数 > private int count; > > public UnionFind1(int n) \{ > count = n; > id = new int\[n\]; > for (int i = 0; i < n; i++) > id\[i\] = i; > \} > > \} [ab03faad27daf2930612a822622b8ae3.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/15/5e87001b92cf4f1981772a5237c1d812.png [bf8231d9db15e72ffb8033fbf768f1b1.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/15/6fa3920b7b044c8285c4a67365790eb4.png
相关 并查集基础 一、概念及其介绍 并查集是一种树型的数据结构,用于处理一些不相交集合的合并及查询问题。 并查集的思想是用一个数组表示了整片森林(parent),树的根节点唯一标识了一个 曾经终败给现在/ 2024年03月16日 23:18/ 0 赞/ 57 阅读
相关 并查集基础 一、概念及其介绍 并查集是一种树型的数据结构,用于处理一些不相交集合的合并及查询问题。 并查集的思想是用一个数组表示了整片森林(parent),树的根节点唯一标识了一个 电玩女神/ 2024年03月16日 22:49/ 0 赞/ 70 阅读
相关 基础算法题——#109. 并查集(字符串与并查集、快读) [\109. 并查集][109.] ![题目][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9 逃离我推掉我的手/ 2022年12月20日 01:28/ 0 赞/ 133 阅读
相关 并查集 Ⅱ \[poj 1611\] ([http://poj.org/problem?id=1611][http_poj.org_problem_id_1611]) 题目描述: T 古城微笑少年丶/ 2022年08月03日 14:35/ 0 赞/ 279 阅读
相关 并查集 并查集JAVA版框架 并查集是一种用来管理元素分组情况的数据结构。 并查集可以高效地进行如下操作: \--查询元素a和元素b是否属于同一组 落日映苍穹つ/ 2022年06月16日 12:44/ 0 赞/ 314 阅读
相关 并查集 这个文章是几年前水acm的时候转的, 当时也不知道作者是谁, 要是有人知道的话说一下吧 并查集是我暑假从高手那里学到的一招,觉得真是太精妙的设计了。以前我无法解决的 港控/mmm°/ 2022年06月13日 14:13/ 0 赞/ 301 阅读
相关 并查集 > 题目 > 某学校近期要组织全校同学出去参加某项活动,由于人数众多,学校决定让同学们自行组队,以小组为单位进行活动。假设学校一共n个同学,每个同学有一个唯一的数字作为标签 Myth丶恋晨/ 2022年06月08日 09:24/ 0 赞/ 308 阅读
相关 并查集 森林: 森林是由若干棵互不相交的树组成,两棵树分别独立,没有交集 ![20181112082744488.png][] 并查集: 并查集的结构和森林十分相似,是 Love The Way You Lie/ 2022年04月17日 02:27/ 0 赞/ 367 阅读
相关 并查集 来看一个实例,[杭电1232畅通工程][1232] 首先在地图上给你若干个城镇,这些城镇都可以看作点,然后告诉你哪些对城镇之间是有道路直接相连的。最后要解决的是整幅图的连通性 我就是我/ 2022年03月29日 10:58/ 0 赞/ 370 阅读
相关 并查集 并查集的作用就是快速判断两个元素是否在同一个集合中,快速将两个集合合并 基本模板 include <iostream> include <a 比眉伴天荒/ 2021年06月22日 15:37/ 0 赞/ 573 阅读
还没有评论,来说两句吧...