布隆过滤器 Bloom Filter
过滤器的作用:判断元素在还是不在。(如图查询 w 在不在集合中)
布隆过滤器:⼀个很长的二进制向量和一系列随机映射函数。
布隆过滤器可以用于检索一个元素是否在⼀个集合中(如果检测出元素不在集合中,那一定不在;如果检测出元素在集合中,有一定可能判断错误)。
它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除困难。布隆过滤器后面一定要跟一个完备的搜索系统。
判断 C 不存在,一定正确;判断 B 存在,判断错了
案例
1. ⽐特币网络
2. 分布式系统(Map-Reduce)