watacii

导航

bloom filter的使用场景和使用方法

参考:

http://blog.csdn.net/v_july_v/article/details/6685894

http://blog.csdn.net/jiaomeng/article/details/1495500

原理:

使用一个位数组,大小为m位。

K个哈希函数。

n个数字的集合。

给出一个元素,k次哈希,来判断是否已经存在在集合中。

使用场景:

可以用在集合求交集,数据判重等。

使用方法:

1. 最小错误率保证  位数组为0为1各占一半。

2. 哈希函数个数     k = ln2(m/n) 

3. 最小错误率为  0.6185^(m/n)

4. m>=1.44n

在增加了错误率这个因素之后,Bloom Filter通过允许少量的错误来节省大量的存储空间。

广泛应用在拼写检查和数据库应用中。

 

posted on 2012-05-09 19:17  wataciii  阅读(360)  评论(0编辑  收藏  举报