并查集 Union-Find

并查集是一种解决动态连通性问题的数据结构,常用于无向图的连通分量判断。文章介绍了并查集的初始化、查询、合并等基本操作,并探讨了平衡性优化(路径压缩、按秩合并)和启发式合并策略。此外,通过实例展示了并查集在解决实际问题中的应用,如找省份数量、检查环路和构建最小生成树等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

并查集 Union-Find

并查集(Union-Find)

并查集是解决 动态连通性 问题的一类非常高效的数据结构。

连通: 无向图上两点 u, v 之间存在路径,称这两个点是连通的。
连通分量: 无向图的每个极大连通块是这张无向图的连通分量。

例:547. 省份数量
无向图:省 连通分量,isConnected 邻接矩阵
森林,树:由 子结点 找到 父结点

1、初始化

使用森林(若干棵树)来表示图的动态连通性,用 数组 来具体实现这个森林。
设定树的每个结点有一个指针指向其父结点,如果是根结点的话,这个指针指向自己。

parent [],索引:城市编号,值:父结点,开始为自己和自己相连。


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值