这里是写好的库 bloomfilter 文件就是。
下面开始知识讲解
- bitmap
- 哈希函数
- 可判断不是,不能判断一定是
首先讲解第一条,布隆过滤器由一个位图和一个哈希函数组成,基本的原理就是哈希函数计算,然后把数据计算成int整型, 然后呢就把整型放到这个位图中,然后判断是否在的时候,只要计算哈希值,然后看是否在这个位图中即可,为了防止 那种哈希碰撞问题,我们使用n >2 个哈希函数,然后去判断是否是要的结果,如果这几个函数算出来的结果判断的时候 由一个是false那么就是false,全部是true当然也不一定是true,这就是布隆过滤器的特点。
第二条: 哈希函数,这里的哈希函数为了就是像花洒一样的计算出数据的int,所以并不要求加密性,
第三条:非常有可能 算出来的结果 a b a b在里面 c不在 然后 c的位置刚好跟 a的和b的某位置重合了,那么c就会 判断在,这就是误判,当然几率很小,因为通常bitmap的量都是在 千万级别而且有>2 个哈希函数的计算,误判率很低, 所以说 如果判断出不是这里的元素,那么一定不是。判断出是,是可能是