数据结构 并查集 线段树 无旋Treap 数学 拉格朗日插值法 ...
分类:
其他好文 时间:
2020-09-18 01:56:05
阅读次数:
26
本文始发于个人公众号: TechFlow ,原创不易,求个关注 今天是算法与数据结构的第18篇文章,我们一起来看一个经典的数据结构——并查集。 首先我们来解释一下这个数据结构的名称,并查集其实是一个缩写,并指的是合并,查指的是查找,集自然就是集合。所以并查集的全称是合并查找集合,那么顾名思义,这是一 ...
分类:
其他好文 时间:
2020-04-30 21:35:23
阅读次数:
70
(题目参考: "BF数据结构题单" ) 普通并查集 代码实现 普通并查集支持 $2$ 种操作 —— 查询自己在哪个连通块和合并两个联通块(即连边) 操作 1:查询 对于我们一个点,查询的连通块记为 $id_u$,一个连通块的编号为这个连通块中被所有人指向的那个节点。 对于一次查询,我们向上找自己指向 ...
分类:
其他好文 时间:
2020-04-28 17:25:46
阅读次数:
53
1 并查集 (不封装,按秩合并) int ancestor(int x) {return p[x] == x ? x : (p[x] = ancestor(p[x]));} bool test(int x, int y, bool un = false) { if ((x = ancestor(x) ...
分类:
其他好文 时间:
2020-04-09 12:35:57
阅读次数:
59
一、并查集的定义 1. 并查集是一种维护集合的数据结构,它的名字中“并”、“查”、“集”。分别取自Union(合并)、Find(查找)、Set(集合)。 合并:就是合并两个集合 查找:判断两个元素是否在一个集合 那么并查集是用什么实现的,就是一个数组, 对于同一个集合来说只存在一个根结点,且将其作为 ...
分类:
其他好文 时间:
2020-02-23 00:08:03
阅读次数:
94
本模板合集将持续更新 数据结构 并查集 编写次数:29 ...
分类:
其他好文 时间:
2020-02-11 00:20:05
阅读次数:
74
一、概念 一个集合中的元素,仅有的关系就是同属于这个集合,并查集就是用来维护若干集合的一种数据结构。 并查集有两个基本操作: 1. 并:合并两集合; 2. 查:查询两个元素是否属于同一个集合。 为了方便地实现合并以及查找操作,我们在一个集合中规定唯一一个根结点,并将这个根结点作为该集合的标志。 开始 ...
分类:
其他好文 时间:
2020-01-26 19:27:24
阅读次数:
54
AVL树 前中后遍历 树的遍历深度和广度 树是一种特殊的图 人脉关系属于图数据结构; 并查集 最小生成树 union find 正常图的遍历用广度也能做,但是速度低; 并查集可以降到logn 数据小的话,可以用一个二维数组 认识就是1,不认识就是0 然后用递归的方式,做一个深度遍历 动态规划 NP问 ...
分类:
其他好文 时间:
2019-12-20 22:26:23
阅读次数:
117
Codeforces Round 600 里面有用到这个,但是真的重新打浪费时间。 不需要什么按秩合并,浪费空间多此一举,让那个合并的常数大了不少。但是循环还是有必要的,比递归快很多。 ...
分类:
其他好文 时间:
2019-11-17 14:47:04
阅读次数:
70
算法理解: 根据名字就能很好的理解这个算法,集合的合并和查询 合并什么?查询什么? 合并操作为:把x所在的集合和y所在的集合合并为一个集合。查询x和y是否在一个集合里。 如:元素为1-n,这n个元素分别在编号为1-n的集合中。如果将3和5合并成为一个集合,只需要将元素3指向元素5即可 ...
分类:
编程语言 时间:
2019-10-21 16:35:57
阅读次数:
103