布隆过滤器学习

1.么是布隆过滤器?

本质上布隆过滤器是一种数据结构,特点是高效地插入和查询,相对传统的list,map,set等数据结构,它更加高效,占用的空间比较小。

2.通常解决数据的查询我们会使用hashmap来解决,但是hashmap虽然效率很高,但是有个缺点就是内存占用很高。如何解决这个问题呢?

可以使用布隆过滤器来解决,不隆过滤器解决了内存占用过高的问题。解决了空间换时间的问题。

3.为什么说布隆过滤器得出来的结果不一定是正确的?

布隆过滤器本质上就是对数组上的位进行+1的操作,然后根据每位上是否有1来判断数据是否存在,但是会存在一个问题,就是不同的数据存储的位可能相同,所以就会有布隆过滤器得出来的结果不一定是正确的。

4.如何解决布隆过滤器删除数据的问题?

为什么布隆过滤器删除会出现问题,因为布隆过滤器多个数据会重复使用到一个位,当我们删除数据的时候,可能会把其他数据的位清0掉,这样就会产生问题。为了解决这个问题,我们在对数据插入的时候,不再是对位上进行置1的操作,而是改成++的操作。这样当我们需要进行删除的时候。就--就可以,这样就不会影响到其他数据。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值