并查集(union-set)

应用:union/set及其应用


并查集是一种树形的数据结构,用于处理一些不相交集合(Disjoint Sets)的合并及查询问题,常常在使用中以森林表示。

1. 等价关系

    具有自反性对称性传递性三个性质称为等价关系,如电气连通性。

    给定一个等价关系“~”,基于以上性质,为判断是否a~b,只需验证a和b是否同属一个等价类,这给我们提供了解决等价问题的方法。

2. 基本操作

   在初始化时使每个元素都属于一个集合,集合间不相交(disjoint)。

   find:  返回给定元素的集合(即等价类)的名字;

   union:使用求并操作添加关系,通常是先使用find判断二者是否已经有关系。

   解决动态等价问题的方案有两种:一种是保证指令find能够以O(1)运行;另一种是保证union能以O(1)运行。二者不可兼得。

3. 数据结构实现和分析

    3.1 find的O(1)可行性

    要保证find的O(1)性,union就必须多做一些工作。一种方案是在每次union时扫描待合并集合,将其类名j全

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值