专栏首页猿天地漫画:高效的布隆算法

漫画:高效的布隆算法

转自:JAVA小咖秀 作者:小小小咖

x星球经过和y星球的激战后,x星球已经无法居住,重建需要很长的时间,因此迁移到why星球上。

ps: 假设每个人ip代表不同的用户。

ps:一个B代表一个字节,一个字节8位,即8个二进制数,1GB=1024MB=1024*1024KB=1024*1024*1024B。

ps:ip如何转成int类型。每段均为最大值的ip为255.255.255.255,8位正好可以表示一个255大小的数字,因此每8位表示一个数字,ip一共是4段,正好32位。

ps: 255 * 255 * 255 * 255 = 4228250625,4228250625/(1024*1024*8)=504。

ps:f1,f2,f3代表3个不同的hash函数。箭头指向的地方代表通过hash函数计算出的hash值同时也是在位图中的位置。

ps:另外一般情况下不能从布隆过滤器中删除元素,由于有一些字符串计算的hash值可能会相同,此时我们会想到,把每个位置存上对应的次数,删除元素的时候同时减1,前面我们说过会有误判的情况,所以要安全的删掉元素不是这么简单。

end:本文主要讲解布隆过滤器的算法思想,具体的实现我们可以去看guava中的BloomFIlter。

本文分享自微信公众号 - 猿天地(cxytiandi)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-06-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • java8 stream

    转载:猿天地 链接:http://cxytiandi.com/blog/detail/2220 Stream 作为 Java 8 的一大亮点,我个人是非常喜...

    猿天地
  • zookeeper到nacos的迁移实践

    公司的RPC框架是dubbo,配合使用的服务发现组件一直是zookeeper,长久以来也没什么大问题。至于为什么要考虑换掉zookeeper,并不是因为它的性能...

    猿天地
  • spring-boot-starter-mongodb-pool

    很多时候我们往往需要操作多个数据库(微服务架构下一个服务一个独立的库),最简单的方式就是在项目中为每个数据库配置下,比如:

    猿天地
  • 漫画图解高效的布隆算法

    原文链接:https://mp.weixin.qq.com/s/aV1YW92R9QN-GRm8n2m6Mw#rd

    业余草
  • 漫画:高效的布隆算法

    x星球经过和y星球的激战后,x星球已经无法居住,重建需要很长的时间,因此迁移到why星球上。

    全菜工程师小辉
  • 以太坊轻钱包"兔子洞口(clevergo)"详细图文教程

    兔子洞口(clevergo)是一款在谷歌浏览器Chrome、火狐浏览器firefox上都可以使用的插件类型以太坊钱包,该钱包只需要在浏览器中添加对应的扩展程序即...

    金融科技先驱者
  • 区块链 | 如何投资区块链资产-《区块链历史链条》4

    区块链从15年火到18年,但是你却对区块链一知半解,小编特打造《区块链历史链条》,将抽象的区块链概念由抽象化解释为形象化,供君参考。 31竞争记...

    码神联盟
  • 怎样确保java代码在抛出异常时都回滚,而不只是运行时异常

    用户1220053
  • SEO优化与网站建设之间有什么关系

    网站搭建完成之后,我们就想着要将网站更好的展现在用户面前,因此就会考虑互联网上的一些推广渠道,比如SEM竞价推广,信息流推广,以及免费的惠州网站建设推广。对网站...

    达沃斯分享
  • 服务器03-raid卡选型及SSD和HDD对比

    4)Firmware相当于OS(通常说的升级固件,相当于我们PC的重做系统;板子上有一块可可擦写的存储区域)

    大话IT架构

扫码关注云+社区

领取腾讯云代金券