今天学习了并查集,图的基础知识。
并查集适用于计算两个点之间是否相连,并不适用于两个点之间的链接路径。
建立并查集有两种方法,一种是利用分组的方式,一种是使用链表的方式。
使用链表的方式在处理问题时,普遍会比分组的方式效率快很多。
为了保证最终形成的并查集树的层数维持在一个比较小的范围里面,通常对其进行size或者rank上的优化。
在进行RANK优化时还有两种优化方式,一种是将跳跃父节点进行并集,另一种是将子节点直接并集到根节点上。
图的构建方法一般有两种,邻接矩阵和邻接表。邻接矩阵就是利用一个存储bool值得矩阵判断两个点是否连接。邻接表,是针对每个点,建立一个与他相连接的点的集合。
邻接矩阵在处理存在平衡边的效率更快一些。因为可以通过O(1)的计算复杂度就可以判断是否存在平行边。而邻接表却需要使用遍历的方式,属于O(n)的计算复杂度。
明天要出去浪一下。争取可以学到寻路。

浙公网安备 33010602011771号