1. 首页
  2. 移动开发
  3. Android
  4. Bitmap海量数据快速查找去重代码示例

Bitmap海量数据快速查找去重代码示例

上传者: 2021-07-24 21:31:06上传 PDF文件 75.97 KB 热度 10次

给你一个文件,里面包含40亿个整数,写一个算法找出该文件中不包含的一个整数, 假设你有1GB内存可用。对于40亿个整数,如果直接用int数组来表示的大约要用4010^84B=16GB,超出了内存要求,这里我们可以用bitmap来解决,bitmap基本思想是一位表示一个整数,比如我们有6个数据:。假设bitmap容量为8,当插入7时 bit[7]=1,以此类推bit[3]=1bit[1]=1bit[5]=1……这样一个位代表一个数据,那40一个数据大概要4010^8bit = 0.5GB,满足内存要求。下面是完整测试代码:现在我们来看如果内存要求是10MB呢?实际上我们并不保存这些数,而是给每一个块设置一个计数器。最后我们找到这个块中第一个为0的位,其对应的数就是一个没有出现在该文件中的数。

用户评论