1.前言
本系列会带大家走进高阶数据结构的学习, 其中包括并查集,图论, LRU cache, B树, B+树, B*树, 跳表. 其中, 图论中讲解的时间最长, 包括邻接表, 邻接矩阵, 广度优先遍历, 深度优先遍历, 最小生成树中的kruskal算法以及prim算法;最短路径中的dijkstra算法, bellman-Ford算法, Floyd-wars hall算法.
本章重点
本章着重讲解并查集的原理、并查集的模拟实现以及并查集的相关应用。
2.并查集的原理
在一些应用问题中,需要 将 n 个不同的元素划分成一些不相交的集合 。 开始时,每个元素自成一个 单元素集合,然后按一定的规律将归于同一组元素的集合合并 。在此过程中 要反复用到查询某一 个元素归属于那个集合的运算 。适合于描述这类问题的抽象数据类型称为 并查集 (union-find set) 。
举例说明:
比如:某公司今年校招全国总共招生
10
人,南京招
4
人,杭州招
3
人,北京招
3
人,
10
个