今天主要学习了提高组复赛知识点:并查集和相关的最小生成树。复习了最短路的一些相关算法。
一.并查集和最小生成树
并查集,最喜欢找爹的一集。
也就是查找最近公共祖先的算法。
也就是在图论中找父亲节点。
但是仔细想想,一个一个节点的遍历过去时间复杂度太高了,所以就有了所谓“路径压缩”。
听起来很诡异,但其实做法非常简单。
看图:链接描述
所谓路径压缩,就是在查找祖先节点的过程中,将自己的父节点转换为父节点的父节点的父节点的.....
这个查找的过程是递归,递归要有截止条件,其截止条件就是当前的节点,它没有父节点/父节点就是自己(根据初始化不同而不同)。
模版代码:
与其相关的还有最小生成树,那个在此不进行解释(没时间了,还要默模版)
最小生成树模版:链接描述
二.最短路问题
DIJKSTRA
对于这个算法不多进行解释,详情请见坐着的其他文章。
模版:链接描述
SPFA
模版:链接描述
FLOYD(阴间版)
模版:链接描述