布隆过滤器

亦凉 2021-12-15 12:59 512阅读 0赞

布隆过滤器常常被用来检测某个元素是否是巨量数据集合中的成员

1、基本原理:

(1)将长度为m的位数组元素全部置为0;

(2)对集合S中的某个成员a,分别用k个哈希函数对其计算,如果hi(a)=x(1<=i<=k, 1<=x<=m),则将位数组的第x位置为1,对于成员a来说,可能会将位数组中w(w<=k)个位置设置为1。

2、误判率:

布隆过滤器存在误判现象,因此在百分之百精确判断集合成员的场景下不能使用。

608933-20180422203839459-1600178474.png

3、改进:

基本BF存在一个缺点:无法删除集合成员,只能增加成员并对其查询

计算布隆过滤器:

基本思想:将基本信息由多个比特位来存储,在集合成员加入时,经过k个哈希函数计算后,将对应位加1。在查询时,只要该位置不为0,则表示该成员属于该集合。删除时,只需要对应位减1即可

转载于:https://www.cnblogs.com/youhongpp/p/8909432.html

发表评论

表情:
评论列表 (有 0 条评论,512人围观)

还没有评论,来说两句吧...

相关阅读

    相关 过滤器

    布隆过滤器 什么是布隆过滤器? 布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的`二进制向量`和`一系列随机映射函数`。布

    相关 过滤器

    > 布隆过滤器\[1\](Bloom Filter)是由布隆在1970年提出的。它实际上是由一个很长的二进制向量和一系列随机映射函数组成,布隆过滤器可以用于检索一个元素是否在一

    相关 过滤器

    布隆过滤器实际上就是哈希和位图的结合 它的优点:速度快并且节省空间 它的缺点:存在误判(比如存在不同的字符串可能存在相同的ASCII,这样我们在判断的时候就会出现误判)

    相关 过滤器

    布隆过滤器原理 布隆过滤器有什么用? 布隆过滤器是可以用于判断一个元素是不是在一个集合里,并且相比于其它的数据结构,布隆过滤器在空间和时间方面都有巨大的优势。 特

    相关 过滤器

    布隆过滤器介绍 > 布隆过滤器在wiki上的介绍: 布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布

    相关 过滤器

    布隆过滤器常常被用来检测某个元素是否是巨量数据集合中的成员 1、基本原理: (1)将长度为m的位数组元素全部置为0; (2)对集合S中的某个成员a,分别用k个哈希函数对其