关于BloomFilter算法别人介绍的很详细,我就不重复造轮子了,参见:(1)wiki百科算法介绍和错误率分析http://en.wikipedia.org/wiki/Bloom_filter(2)中文资料http://blog.csdn.net/jiaomeng/article/details/...
分类:
移动开发 时间:
2014-09-10 15:39:40
阅读次数:
241
常见问题:①Top K问题:分治+Trie树/Hash_map+小顶堆。采用Hash(x)%M将原文件分割成小文件,如果小文件太大则继续Hash分割,直至可以放入内存。②重复问题:BitMap位图 或 Bloom Filter布隆过滤器 或 Hash_set集合。每个元素对应一个bit处理。③排序问...
分类:
其他好文 时间:
2014-09-09 11:27:08
阅读次数:
272
我有一个做了一款移动浏览器的朋友。 ? ? ? 他有这样一个需求:当用户输入一个网站的url时候,移动浏览器需要识别这个网址是否是一个恶意网址。另外,他有一个恶意网址库。 ? ? ? 也许这样的解决方...
分类:
其他好文 时间:
2014-09-04 21:00:30
阅读次数:
231
Bloom Filter是由Bloom在1970年提出的一种快速查找算法,通过多个hash算法来共同判断某个元素是否在某个集合内。可以用于网络爬虫的url重复过滤、垃圾邮件的过滤等等。
分类:
其他好文 时间:
2014-09-01 14:01:23
阅读次数:
238
The heart is a bloom #青春 绽放 茂盛 Shoots up through the stony ground #嫩枝 There''s no room No space to rent in this town You''re out of luck And the reaso...
分类:
其他好文 时间:
2014-08-30 09:54:09
阅读次数:
189
我们都看过封神榜吧,每一个神位都对应着一个人。
在西周时代,如果一个人声称自己是神,那么他必须可以通过封神榜的验证,如果封神榜验证了下这个人,发现神位上根本没这号人,那么这个人绝对不是神。
但是封神榜的验证方式是有漏洞的,那些企图依靠神的名声招摇撞骗的人之中,有些人发现了这个秘密,他们可以通过伪造自己的名字,来欺骗封神榜,虽然符合
要求的名字很少很少。但是总有一些人找到了些能欺骗封神榜的名字...
分类:
其他好文 时间:
2014-08-30 08:50:29
阅读次数:
229
Bloom Filter是由Bloom在1970年提出的一种快速查找算法,通过多个hash算法来共同判断某个元素是否在某个集合内。可以用于网络爬虫的url重复过滤、垃圾邮件的过滤等等。
它相比hash容器的一个优势就是,不需要存储元素的实际数据到容器中去来一个个的比较是否存在。
只需要对应的位段来标记是否存在就行了,所以想当节省内存,特别适合海量的数据处理。并且由于省去了存储元素和比较...
分类:
其他好文 时间:
2014-08-18 18:37:02
阅读次数:
339
适用于场景连接的列数据量很大,在分布式缓存中无法存储时,Bloom Filter 可解决这个问题,用很小的内存可有MAP端过滤掉不需要JOIN的数据,这样传到REDUCE的数据量减少,减少了网络传及磁盘IO。缺点Bloom Filter 会有一定的错误率,但是错误率很低,用空间换取了时间。并且,最终...
分类:
其他好文 时间:
2014-08-14 16:05:39
阅读次数:
284
例题:给定两个大文件,各含有50亿条url,要求利用4G内存快速找出共同的url解答:假设两个文件为A和B,4G内存有32G位,可以表示5G的url。本文采用bloom filter解答:首先简单介绍一下bloom filter的思想,其核心是:位数组;K个hash函数。通过对大量数据处理,通过k个...
分类:
其他好文 时间:
2014-08-07 21:49:20
阅读次数:
183