【并查集】
为实现 在 不相交集合 上的操作 (1.合并两个集合 2.查询某个元素属于哪个集合)而定义的一种数据结构
其实现有两种方式:链表和有根树
【应用】
在图论中 一个联通分量的所有点 对应一个集合
对应的操作可以为
判断两个点是不是在同一个联通分量之中
添加一条边合并两个联通分量
【模板】
此处用树来实现 用数组储存
【优化】
(1)路径压缩(优化查找操作)
(2)通俗点说法就是要合并两个树,将树高度低的接到 高度高的树下, 使合并后的树的高度尽量小 (优化合并操作)
【参考】
算法导论
顺便推荐一篇讲并查集比较有趣的博文
https://www.cnblogs.com/TonyNeal/p/bingchaji.html
时间: 2024-11-05 16:05:48