知识卡片
布隆过滤器
内容
布隆过滤器用多个哈希函数和位数组判断成员是否可能存在。它允许误判存在但不误判不存在,适合在磁盘访问前快速过滤无效查询,用少量内存换掉大量随机 I/O。
参考来源
- 位置:《大数据日知录:架构与算法》第3章《大数据常用的算法与数据结构》"3.1.1 基本原理"及"3.1.2 误判率及相关计算"一节(源文件:_epub-src/OEBPS/text00008.html)
- 结论依据:原文明确BF"使用长度为m的位数组来存储集合信息,同时使用k个相互独立的哈希函数将数据映射到位数组空间",并说明"BF会发生误判……但是不会发生漏判(False Negative)……如果某个成员确实属于集合,那么BF一定能够给出正确判断",即只误判"存在"不误判"不存在"。
- 原始内容:BF可以高效地表征集合数据,其使用长度为m的位数组来存储集合信息,同时使用k个相互独立的哈希函数将数据映射到位数组空间……如果某个成员不在集合中,有可能BF会得出其在集合中的结论……尽管BF会产生误判,但是不会发生漏判(False Negative)的情况,即如果某个成员确实属于集合,那么BF一定能够给出正确判断。