一、认识布隆过滤器
场景:如果遇到网页黑名单系统、垃圾邮件过滤系统、爬虫的网站判重系统等题目,又看到系统容忍一定程度的失误率,但是对空间要求比较严格,那么大概率考布隆过滤器的知识。
一个布隆过滤器精确地代表一个集合,并可以精确判断一个元素是否在集合中。
到底有多精确取决于具体的设计,但完全正确是不可能的。
二、布隆过滤器的优缺点
优点:空间效率和查询时间都远远超过一般的算法,使用很少的空间就可以将准确率做到很高的程度。
缺点:有一定的误识别率 和 删除困难。
注:误识别率指的是 判断某个元素不在集合中肯定是对的,但判断存在时有一定误识别率。
三、布隆过滤器的底层原理
一个很长的二进制向量 和 一个映射函数。