布隆过滤器
功能
判断一个事物是否存在
优点
节约空间,判断速度快
缺点
可能会有误判,不存在被判断成存在(hash碰撞)
原理
将已经出现过的事物,用多种hash算法,对同一事物得到多个hash值,映射到bit数组的多个位置上,每个位置都做一个标记.
当新的事物出现时,对新的事物用多种hash算法得到多个hash值,如果所有的hash值对应的bit位都有过记录,则判定该事物存在,否则判定为不存在.
降低误判率的方法
①增加hash算法的个数
②增加bit数组的长度(bit数组越长hash碰撞几率越低)