今天学习了并查集,图的基础知识。

并查集适用于计算两个点之间是否相连,并不适用于两个点之间的链接路径。

建立并查集有两种方法,一种是利用分组的方式,一种是使用链表的方式。

使用链表的方式在处理问题时,普遍会比分组的方式效率快很多。

为了保证最终形成的并查集树的层数维持在一个比较小的范围里面,通常对其进行size或者rank上的优化。

在进行RANK优化时还有两种优化方式,一种是将跳跃父节点进行并集,另一种是将子节点直接并集到根节点上。

图的构建方法一般有两种,邻接矩阵和邻接表。邻接矩阵就是利用一个存储bool值得矩阵判断两个点是否连接。邻接表,是针对每个点,建立一个与他相连接的点的集合。

邻接矩阵在处理存在平衡边的效率更快一些。因为可以通过O(1)的计算复杂度就可以判断是否存在平行边。而邻接表却需要使用遍历的方式,属于O(n)的计算复杂度。

明天要出去浪一下。争取可以学到寻路。

posted @ 2017-03-18 23:21  冥地魔王  阅读(156)  评论(0)    收藏  举报