布隆过滤器(Bloom filter)

什么是Bloom Filter:

布隆过滤器实际上就是一个bit数组,这个数组中存储的值只有1和0两种。默认数组中的值全部为0。


image.png

当有值过来时,使用多个不同的 Hash 算法计算出多个 Hash 值并将映射到的数组中的位置设置为 1。如下图所示:


image.png

布隆过滤器的优缺点

  1. 优点
  • 占用空间小:数组中只有 1 和 0。
  • 查询速度快:基于数组实现,时间复杂度 O(K)
  • 保密性好:数组中只存储 0 和 1。不会存储原始数据。
  1. 缺点
  • 会出现误删
  • 会出现误判:误判不可避免,但是可以通过增加 Hash 函数的方式提高准确率,降低误判的可能性。

由于是通过增加 hash 函数的方式提高的准确率,所以准确率越高,hash 函数越多,value 插入所用的时间就越长,效率越低。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容