Java基础知识总结--BloomFilter(布隆过滤器)

前言

  映射是个非常有意思的东西。hash函数是把任意类型的数据映射成等长的字节码,用于快速查询,加密等;

  bitmap 类似桶排序,最大的数是多少,就有多少位,一个数存不存在就看对应的位里是0还是1。

  布隆过滤器是对bitmap的改进,提升了空间利用率。

导图

这里写图片描述

  布隆过滤器主要是用于大数据的查询。

  布隆过滤器是通过k个hash函数散列出k个位矩阵上的点,如果这些点都是1则说明该数据存在,否则只要有一个不是1就不存在。也就是说布隆过滤器算出不存在的数肯定不存在,算出存在的数可能存在也可能不存在。它是牺牲正确率来换取空间。

小结

  总之,这些想把大量数据压缩用更小的空间存储并且快速查询到的算法都是借助了把数据映射到位上。下一篇将提及到bitset(位集)也涉及到了映射的思想。都是自己的理解,如有建议,欢迎指出。

评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值