关于并查集(Union-Find,又称不相交集合)的基本操作 Find(x) 和 Union(x, y),下列说法正确的是( )。
目标
- 独立辨析并查集中的核心概念、结构性质与算法关系;
- 对选择题写出排除干扰项的依据,而不只记忆答案字母;
- 对本组已有的综合题完成推导、算法设计或复杂度分析。
前置知识
建议先阅读5.4 并查集,再开始本组练习。
环境、输入与预期输出
- 环境:任意现代浏览器;综合题建议准备纸笔或本地编辑器。
- 输入:9 道四选一选择题,0 道综合题。
- 预期输出:一份独立作答记录,以及每道错题或综合题的完整推理过程。
作答方法
- 选择题先独立判断并记录依据,再点击“提交答案”;
- 提交后核对正确答案和解析,做错的题使用“重新作答”;
- 综合题先完成推导、伪代码或代码,再展开参考答案逐项核对;
- 对易混概念主动构造反例,说明条件变化后结论是否仍成立。
选择题
答题进度已答 0/9正确 0
难度★★★考点并查集、双亲表示法、实现
用双亲表示法实现并查集,每个元素 parent[i],约定 parent[i] == i 表示
难度★★★考点并查集、路径压缩、优化
路径压缩是并查集的标准优化。下列对路径压缩的描述正确的是( )。
难度★★★★考点并查集、按秩合并、按高度合并
按秩合并(按高度合并)是并查集的另一种标准优化。下列描述正确的是( )。
难度★★★★考点并查集、连通分量、应用
给定一个无向图
type: undirected
nodes:
v1 @ (0, 0)
v2 @ (1, 0)
v3 @ (2, 0)
v4 @ (0, 1)
v5 @ (1, 1)
v6 @ (2, 1)
v7 @ (0, 2)
v8 @ (1, 2)
v9 @ (2, 2)
v10 @ (3, 2)
edges:
v1 -> v2
v2 -> v3
v4 -> v5
v5 -> v6
v7 -> v8
v8 -> v9
v9 -> v10
注:节点标签 v1 ~ v10 即题面 1 ~ 10;图中只画了 7 条边、3 条互不相连的链状分量。
难度★★★★★考点并查集、综合、性质
关于并查集,下列说法正确的是( )。
① 并查集核心采用双亲表示法——每个元素至少维护一个父指针(或父下标)。 ② 未优化的并查集中,最坏情况下 Find 单次操作复杂度
。 ③ 路径压缩在 Find 时做;按秩合并在 Union 时做——两者可独立或合用。 ④ 路径压缩 + 按秩合并后,任何 次操作的总复杂度严格为 。
难度★★★★考点并查集、路径压缩、双亲表示法、手工模拟
有一个并查集,元素编号为 parent[i] = i。操作规则如下:
find(x):查找元素 所在集合的根结点,并在查找过程中进行路径压缩(把路径上经过的每个结点直接挂到根下)。union(x, y):先分别用find查找 和 所在集合的根结点,记为 和 。若 ,则把 所在集合的根 挂到 所在集合的根 下面。
现依次执行操作序列:
则对该并查集的说法正确的是( )。
难度★★★考点并查集、路径压缩、按规模合并、判环、Find操作
下列关于并查集的说法中,正确的是( )。
难度★★考点并查集、Kruskal算法、最小生成树、判环、图算法
在以下算法中,需要用到并查集的是( )。
答案总览(建议完成全部题目后查看)
- 第 1 题:A
- 第 2 题:C
- 第 3 题:B
- 第 4 题:C
- 第 5 题:B
- 第 6 题:B
- 第 7 题:D
- 第 8 题:D
- 第 9 题:A
综合题
本组素材未提供综合题,因此不补造占位题。
完成清单
复盘
- 哪道题最容易因结构关系、边界口径或算法步骤判断失误?
- 我能否不用背答案,重新画出结构或写出关键操作过程?
- 如果题目改变一个条件,原结论是否仍成立?