两个大文件中找出共同记录: 分而治之+布隆过滤器

2019-10-28  本文已影响0人  疯狂的冰块

题目描述

给定a、b两个文件,各存放100亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?

解决方案是分而治之:
将文件a按照hash分为10000份,
hash(url)%10000
然后去b文件逐个判断是否在a文件中。

这里有一个优化的地方,就是使用布隆过滤器,如果判断不存在不再去b文件判断,这样可以有效挡住大部分无效的判断。

上一篇下一篇

猜你喜欢

热点阅读