问题: 有一个包含20亿个全是32位整数的大文件,在其中找到出现次数最多的数,但是内存限制只有2G.
解题思路:先将这个20亿个整数进行哈希分流,比如说分别分流到16个小文件中,然后用哈希表分别计算出每一个小文件中出现次数最多的数,最后将这16个数再次进行比较,就可以得出这20亿个整数中出现次数最多的数。
如下图所示:
问题: 有一个包含20亿个全是32位整数的大文件,在其中找到出现次数最多的数,但是内存限制只有2G.
解题思路:先将这个20亿个整数进行哈希分流,比如说分别分流到16个小文件中,然后用哈希表分别计算出每一个小文件中出现次数最多的数,最后将这16个数再次进行比较,就可以得出这20亿个整数中出现次数最多的数。
如下图所示: