码迷,mamicode.com
首页 > 其他好文 > 详细

布隆过滤器个人认识

时间:2017-11-15 21:58:14      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:内存   多个   hash   bit   长度   存在   邮件   过滤   函数   

用于网页黑名单系统,垃圾邮件过滤系统,爬虫的网址判重系统。
一般的意思是在大量数据集合中,判断一个新数据是否存在于这个集合中。
数据量少还可以使用hashmap和位图bitmap。数据一大占用内存不理想。
布隆的做饭法是,开辟一个长度为m的位图数组,对于每一个集合的元素使用多个hash函数计算得值%m,落在数组上的位置
都置1,这样计算完一个集合样本之后,位图数组就被置了很多1,当一个新数据来了,将那多个hash函数计算一下,如果得到的%m之后发现在位图数组上都是1了,那么可以确定这个数据在集合里,如有一个或多个为0,那就不是。删一个样本不容易。
样本数量为n,失误率为p,
m = -(n*lnp)/(ln2)^2
哈希函数的个数k = ln2 * m/n;

布隆过滤器个人认识

标签:内存   多个   hash   bit   长度   存在   邮件   过滤   函数   

原文地址:http://www.cnblogs.com/ljy-1471914707/p/7840492.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!