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通过允许少量的错误来节省大量的存储空间。
广泛应用在拼写检查和数据库应用中。