哈希表的博客链接:http://blog.csdn.net/qq_31828515/article/details/56682501
位图的博客链接:http://blog.csdn.net/qq_31828515/article/details/56853478
题目1:
给一个超过100G大小的log file,log中存在着IP地址,设计算法找到出现此数最多的IP地址
1.这里首先想到的是切分,因为呢,100G太大,放不到内存中;
我们可以切分成1000个小文件,每个文件大概就是500M左右的样子;
2.可是,问题来了,如何才可以将相同的IP地址放入同一个文件当中呢?
3.这里就要用到哈希的思想,哈希切分;
每一个IP地址就是一个对应的字符串,我们可以算出key值,然后取余数,余数就表示的是存储的文件号
比如index = key% 1000;余数必定在 0~999,这样我们就可以将相同的IP地址放入同一个文件中啦
然后呢,依次将这些文件装载入内存,统计每个文件出现最多的IP,然后进行比较
即可求解