1.么是布隆过滤器?
本质上布隆过滤器是一种数据结构,特点是高效地插入和查询,相对传统的list,map,set等数据结构,它更加高效,占用的空间比较小。
2.通常解决数据的查询我们会使用hashmap来解决,但是hashmap虽然效率很高,但是有个缺点就是内存占用很高。如何解决这个问题呢?
可以使用布隆过滤器来解决,不隆过滤器解决了内存占用过高的问题。解决了空间换时间的问题。
3.为什么说布隆过滤器得出来的结果不一定是正确的?
布隆过滤器本质上就是对数组上的位进行+1的操作,然后根据每位上是否有1来判断数据是否存在,但是会存在一个问题,就是不同的数据存储的位可能相同,所以就会有布隆过滤器得出来的结果不一定是正确的。
4.如何解决布隆过滤器删除数据的问题?
为什么布隆过滤器删除会出现问题,因为布隆过滤器多个数据会重复使用到一个位,当我们删除数据的时候,可能会把其他数据的位清0掉,这样就会产生问题。为了解决这个问题,我们在对数据插入的时候,不再是对位上进行置1的操作,而是改成++的操作。这样当我们需要进行删除的时候。就--就可以,这样就不会影响到其他数据。