【算法基础课模板笔记+注释】 数据结构11 --- 并查集

声明

本文资料参考acwing算法基础课
地址:https://www.acwing.com

概述

  1. 解决问题:并查集
  2. 这里并查集用下标代表元素

模板记忆

这个模板分为四个部分:

  1. 初始化:并查集用一个数组即可,表示父节点,根节点指向自己
  2. :把两个集合合并成一个,使用递归

模板代码

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);
}
上一篇:《c++新经典》C++11并发与多线程笔记(11)


下一篇:11 | 如何实现高性能的异步网络传输?