Q:
1. 给你A,B两个文件,各存放50亿条URL,每条URL占用64字节,内存限制是4G,让你找出A,B文件共同的URL。
2. 有10个文件,每个文件1G, 每个文件的每一行都存放的是用户的query,每个文件的query都可能重复。要你按照query的频度排序
3. 有一个1G大小的一个文件,里面每一行是一个词,词的大小不超过16个字节,内存限制大小是1M。返回频数最高的100个词
A:
1.对于第一个题,网上有的解法是按照hash分段,通过对url求hash值,按照hash值进行分段,每一段存放一个文件,分段要求尽量将子文件的大小不
超过内存要求,如果一个段太大,我们利用再hash,对子文件在进行hash分段。如果最好一个段还是很大,就使用外排。这样,两个大文件就都分段成了可
以放在内存里的小文件,由于相同的url一定在一个段中,所以要查找相同的url只需要在相同的段中进行查找。
2.3.。。