BloomFilter布隆过滤器思想原理和代码实现-创新互联

简介

布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都比一般的算法要好的多,缺点是有一定的误识别率和删除困难。

成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于成都网站建设、成都网站制作、郎溪网络推广、小程序定制开发、郎溪网络营销、郎溪企业策划、郎溪品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们大的嘉奖;成都创新互联公司为所有大学生创业者提供郎溪建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com 算法思想

如果想要判断一个元素是不是在一个集合里,一般想到的是将所有元素保存起来,然后通过比较确定。链表,树等等数据结构都是这种思路. 但是随着集合中元素的增加,我们需要的存储空间越来越大,检索速度也越来越慢(O(n),O(logn))。

不过世界上还有一种叫作散列表(又叫哈希表,Hash table)的数据结构。它可以通过一个Hash函数将一个元素映射成一个位阵列(Bit array)中的一个点。

这样一来,我们只要看看这个点是不是 1 。有如下两种情况:

1、如果不是 1 , 也就是 0, 那么该元素必定不存在。

3b4916f259e0603ec7d3277f7109200b.jpeg

2、如果都是1, 也只能说,该元素大概率存在。

9f0c4709ec2380fd357c8f12d1095d5e.jpeg

这就是布隆过滤器的基本思想。

Hash面临的问题就是冲突。假设Hash函数是良好的,如果我们的位阵列长

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


本文题目:BloomFilter布隆过滤器思想原理和代码实现-创新互联
文章转载:http://scjbc.cn/article/deggic.html

其他资讯