数据结构与算法:从2.5亿整数中高效找出不重复整数方法探讨.pdfVIP

  • 0
  • 0
  • 约1.02千字
  • 约 2页
  • 2026-07-10 发布于北京
  • 举报

数据结构与算法:从2.5亿整数中高效找出不重复整数方法探讨.pdf

在2.5亿个整数中找出不重复的整数

题目

学习时长:20分钟

题目难度:中等

知识点:位图法、分治法、大数据量处理

题目描述

在2.5亿个整数中找出不重复的整数。注意:内存不足以容纳这2.5亿个整数。

1.解答思路

方法一:分治法

与前面的题目方法类似,先将2.5亿个数划分到多个小文件,用HashSet/HashMap找出每个小文件中

不重复的整数,再合并每个子结果,即为最果。

方法二:位图法

位图,就是用一个或多个bit来标记某个元素对应的值,而键就是该元素。采用位作为单位来数

据,可以空间。

位图通过使用位数组来表示某些元素是否存在。它可以用于快速查找,判重,排序等。不是很清楚?我

先举个小例子。

假设我们要对中的5个元素(6,4,2,1,5)进行排序,可以采用位图法。0~7范围总共有8个

数,只需要8bit,即1个字节。首先将每个位都置0:

然后遍历5个元素,首先遇到6,那么将下标为6的位的0置为1;接着遇到4,把下标为4的位的0

置为1:

依次遍历,结束后,位数组是这样的:

每个为1的位,它

文档评论(0)

1亿VIP精品文档

相关文档