本文主要是介绍【算法基础课模板笔记+注释】 数据结构11 --- 并查集,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
声明
本文资料参考acwing算法基础课
地址:https://www.acwing.com
概述
- 解决问题:并查集
- 这里并查集用下标代表元素
模板记忆
这个模板分为四个部分:
- 初始化:并查集用一个数组即可,表示父节点,根节点指向自己
- 并:把两个集合合并成一个,使用递归
模板代码
int p[N];
int find(int x)
{
if (p[x] != x) p[x] = find(p[x]); // 非根递归指向根
return p[x]; // 返回已经改过的根
}
void merge(int a, int b)
{
p[find(a)] = find(b);
}
这篇关于【算法基础课模板笔记+注释】 数据结构11 --- 并查集的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!