2019.01.26算法题:HDU - 1213

HDU - 1213 How Many Tables(并查集)

题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1213

代码地址:https://paste.ubuntu.com/p/Bs3nPHnsHk/


并查集详解:

http://www.cnblogs.com/horizonice/p/3658176.html

并查集

并查集是一种树形结构,又叫“不相交集合”,保持了一组不相交的动态集合,每个集合通过一个代表来识别,代表即集合中的某个成员,通常选择根做这个代表。

并查集模板讲解:

1.查询根的同时路径压缩,把a所在树的根作为a的父节点,而求所在树的根的时候,用语句不断向上寻找,直到找到根。根节点的par是它本身。

2.查询两个点是否在同一个集合。如果两个点在同一棵树上,也就是根节点相同时,就在一个集合,查询的同时路径压缩了。

3.合并集合操作。把a的根节点挂在b的根节点下面,把b的根节点作为a的par

并查集的模板总共就这三个函数,最后一个比较重要的就是初始化。把所有节点的par设置为自己,因为最开始没有合并集合的时候,每个节点所在树只有自己。

你可能感兴趣的:(2019.01.26算法题:HDU - 1213)