13、集合与哈希表:原理、操作与应用

集合与哈希表:原理、操作与应用

1. 集合相关知识

1.1 集合操作的替代实现

在集合操作中,我们可以通过其他集合操作来实现一些特定的判断,以下是具体介绍:
- 判断子集 :若要判断集合 $S_1$ 是否为集合 $S_2$ 的子集,在集合表示法中,如果 $S_1 \cap S_2 = S_1$,则 $S_1 \subseteq S_2$。因此,我们可以结合使用 set_intersection set_is_equal 操作。不过,调用这两个操作的运行时间实际上接近 $T (m, n) = 2mn$,而 set_is_subset 操作的运行时间更接近 $T (m, n) = mn$,其中 $m$ 是 $S_1$ 的大小,$n$ 是 $S_2$ 的大小。尽管两种方法的复杂度相同,但在实践中,调用 set_intersection set_is_equal 大约需要两倍的时间。
- 判断相等 :若要判断集合 $S_1$ 是否等于集合 $S_2$,在集合表示法中,如果 $S_1 - S_2 = \varnothing$ 且 $S_2 - S_1 = \varnothing$,则 $S_1 = S_2$。因此,我们可以通过两次调用 set_difference 和两次调用 set_size 来实现,不过效率较低。
- 计算交集 :若要计算两个集合

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值