一个由1亿个数组成的集合M,数的范围从1~10亿 新来一个数n,如何快速且省内存地判断是否存在M中? 方法一: 将集合M的数用散列表保存,然后对数n判断是否在散列表中即可 消耗内存:假设一个数用4字节保存,1亿个数至少要381M内存,不过由于实际上由于有装载因子,散列冲突解决等,实际内存远远不止38 ...
分类:
其他好文 时间:
2019-10-18 18:49:30
阅读次数:
84
给40亿个不重复的无符号整数,没排过序。给一个无符号整数,如何快速判断一个数是否在这40亿个数中。这个问题怎么解决呢?【位图方法】:位图(BitMap)是用一个数组中的每个数据的每个二进制位表示一个数是否存在。1表示存在,0表示不存在。相当于把数组分成很多块的空间,每..
分类:
其他好文 时间:
2016-06-29 01:13:38
阅读次数:
253