两个集合相等的例题_两个集合的比较方法

我们在业务版本的开发过程中,经常遇到比较两个集合的是否相等的问题。我们会用那些方法来做集合的比较呢?

这两天在看吴军老师的《数学之美》,在里面看到一个非常简单的方法。先把比较两个集合是否相等的方法罗列如下:

1、遍历两个集合,分别比较,这是我们遇到集合比较,首先想到的方法,这个方法最直接也最笨。

2、将两个集合分别排序,然后顺序比较。这个方法稍微好些。

3、将第一个集合放到散列表中,然后把第二个集合中的元素一一取出和散列表中的元素对比,这个方法时间复杂度为O(N),但是额外的使用了O(N)的空间,代码复杂,不完美。

4、计算两个集合的指纹,然后直接比较两个集合的指纹。如果两个集合的元素是相同的,那么他们的指纹一定是相等。对于职位,我们可以理解为,用一组私钥对于集合进行加密就好了。

对于上面4中方法,前三种我们思考过后可能就会想到,但是对于最有效的方法是第四种。从书上看到这种方法,豁然开朗。希望对于我们后面对于集合的是否相等的比较方面提供思路。

这是我的微信公众号,欢迎关注我公号

74c225b30f57cd97afc0107d00323aa7.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值