查
查-找根
并
共根
存储结构
数组-每个节点指向他的父节点
每个节点的【值】是他的父节点,根节点的值是**-1**
初始化
每个节点指向-1
查
一路上向上找,直到当前索引指向-1,表明到了这棵树的根节点。
并
直接将Root2指向Root1即可。
并的优化
根节点的绝对值表示这棵树的节点总数
将节点数小的树并到大数上面
将union进行优化以后,树的高度控制<=[log2n]向下取整 + 1
应用 判断图的连通数量
通过union操作合并成几棵树
最后统计-1的数量即可
应用 判断是否有环
如果两个节点之前已经在同一棵树里面,但凡又多了一条边,则有环
应用-最小生成树-Kruskal
按照权值排序,通过并查集判断是否是一棵树(已连通),只要已联通的,第一条,小边。
对find优化
一路找上去,让x的父节点,爷节点均挂到根节点…