摘要:
第二章开头提出了三个非常好的问题:1.给定一个最多包含40亿个随机排列的32位整数的顺序文件,找出一个不在文件中的32位整数。在内存足够的情况下,可以用位图来解决这个问题,位图中标记为0对应的数就是所要找的。当内存不足时,此时采用分治的思想: 按最高位(也可按低位)的值对所有整数分类,高位为0的一组,记为A,高位为1的一组,记为 B,分别统计A,B组元素的个数。此时若len(A)<2^31,则A组中必有漏掉的数(此时缺失的 数高位一定为0);同理可判断B中是否有遗漏。选择一个有遗漏的分组,再对它的次高位进行分类, 一直递归下去直到对最低位也进行了分类。此时缺失的数每一位... 阅读全文