布隆过滤器的原理

1.位数组

布隆过滤器使用一个位数组,初始化的时候全部为0

这个位数组的长度取决于预计的元素数量和可接受的错误率。

2.哈希函数

布隆过滤器需要使用多个哈希函数。当一个元素要被插入时,它会被传递给多个哈希函数,得到多个哈希值,然后将位数组中对应的位置的值设置为1。

3.查询操作

当要查询一个元素是否属于集合时,同样将这个元素传递给多个哈希函数从而得到多个哈希值,然后检查位数组中对应位置的值,如果对应位置的值都为1,那么可以判断元素可能存在集合中,如果存在一个位置为0,那么元素一定不存在集合中

总的来说:

  • 布隆过滤器使用一个位数组,初始化全部为0,当一个元素要被插入时,它会被传递给多个哈希函数,得到多个哈希值,然后将位数组中对应位置的值设置为1,当查询一个元素是否属于集合的时候,同样会把这个元素传递给多个哈希函数,得到多个哈希值,然后检查检查位数组中对应位置的值,如果对应位置的值都为1,那么可以判断元素可能存在集合中,如果存在一个位置的值为0,那么元素一定不存在集合中

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值