bloom filter

bloom filter本质就是hash算法,不过处理逻辑与一般的逻辑不太一样,bloom filter主要用在大数处理上,一般可能有几千万甚至上亿条数据比较重复的时候,就体现出bloom filter的优势了,首先bloom filter是位数组,比普通算法节省大量的空间,而且时间复杂度相比普通算法也强很多

bloom filter的原理是取一个很长的位数组,取n个hash,用每一个hash分别对要存入的元素hash,这时候hash结果落在位数组的哪里,就将哪里的位 置为一,这样在比较的时候只需要将需要比较的值进行hash,然后看这一位是不是1,如果是1,那么这个元素就可能有,注意是可能,而不是一定,但是如果这一位不是1,那么一定不在

 

误判是因为多个hash,每次hash都将某一位置为一,那么可能会有某个元素刚好被hash到了之前被置为1的地方

posted on 2019-09-21 17:18  一只二傻子  阅读(178)  评论(0编辑  收藏  举报

导航