数据结构–并查集的进一步优化
Find操作的优化(压缩路径)
压缩路径 − − F i n d 操作,先找到根节点,再将查找路径上所有结点都挂到根结点下 \color{red}压缩路径 -- Find操作,先找到根节点,再将查找路径上所有结点都挂到根结点下 压缩路径−−Find操作,先找到根节点,再将查找路径上所有结点都挂到根结点下
int Find(int S[], int x)
{
    return S[x] == x ? x : S[x] = Find(S, x); 
}
每次Find操作,先找根,再“压缩路径”,可使树的高度不超过 O ( α ( n ) ) O(\alpha(n)) O(α(n))。 α ( n ) \alpha(n) α(n)是一个增长很缓慢的函数,对于常见的n值,通常 α ( n ) ≤ 4 \alpha(n)≤4 α(n)≤4,因此优化后并查集的Find、Union操作时间开销都很低
并查集的优化
 
 












![[QT编程系列-2]:C++图形用户界面编程,QT框架快速入门培训 - 1- 预备知识](https://img-blog.csdnimg.cn/87d7305e40d84e64b4e997938d79d1a7.png)






