Bloom filter:
对传统Hash的一种改进,定义一个m长度的位数组,使用k个hash函数,对集合中的每一个元素使用这些hash函数,并将结果对应的位数组的位置置1。
在判断一个元素是否属于该集合时,对该元素使用这k个hash函数,如果对应的位数组每一位都为1,那么可以判断该元素属于该集合。
从上述描述可看出是存在误差的,即可能把不属于该集合的元素判定为属于该数组,但不会把属于该集合的元素判断为不属于,可以根据具体应用背景看是否适用。
关于参数的具体取值第2个参考网页中有具体的介绍。
参考:
http://blog.csdn.net/jiaomeng/article/details/1495500
http://www.cnblogs.com/allensun/archive/2011/02/16/1956532.html
本文介绍了Bloom过滤器的工作原理及其实现方式。通过使用位数组和多个哈希函数,Bloom过滤器能够高效地判断一个元素是否可能存在于集合中。尽管存在一定的误判率,但这种数据结构在内存有限的情况下特别有用。
3530

被折叠的 条评论
为什么被折叠?



