布隆过滤器原理以及应用_bitmap与布隆过滤器

布隆过滤器原理以及应用_bitmap与布隆过滤器1.先说下背景,肯定遇到这种情况,判断元素在不在一个集合里面,如果,集合里面的元素非常大,这个判断过程是非常耗时的,而且集合占用空间也很大。2.应用场景,网页黑名单,垃圾邮件过滤,电话黑名单,url去重,内容推荐等。3.原理:布隆过滤器实际上就是一个字节数组,字节数组的值是0或1,在添加元素的时候,对值通过多个hash函数的计算,得到多个0,1然后在字节数组里面在相应的位置设置值。这样处理…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

1.先说下背景,肯定遇到这种情况,判断元素在不在一个集合里面,如果,集合里面的元素非常大,这个判断过程是非常耗时的,而且集合占用空间也很大。

2.应用场景,网页黑名单,垃圾邮件过滤,电话黑名单,url去重,内容推荐等。

3.原理:布隆过滤器实际上就是一个字节数组,字节数组的值是0或1,在添加元素的时候,对值通过多个hash函数的计算,得到多个0,1然后在字节数组里面在相应的位置设置值。这样处理完所有的值之后,一个完整的布隆过滤器就完成了。之后就进入应用阶段了,判断值在不在布隆过滤器里面了,如果新输出的对象是之前处理放在布隆过滤器里面的,那就一定是存在,因为两次计算得到的hash值是一样的,肯定在,那对于新的对象了,这时就有可能会出现误杀了,新的值的hash值可能与老的值hash一样,于是布隆过滤器就认为,这个值是黑名单里的了,会造成误杀的结果。相当于就是宁愿杀错一k,不愿放过一个。

4.改进:通常误杀的话,可以通过两个方法去补救,再建立一个白名单,从布隆器本身去优化,降低误杀率。

5.再举例,头条给你推荐内容的时候,肯定要去查询一个的你的历史阅读记录,你看过的内容,一定是存在你的记录中的,新内容会有很小的机率认为是你之前看过的。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/184884.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月7日 下午5:00
下一篇 2022年10月7日 下午5:16


相关推荐

  • springboot启动时是如何加载配置文件application.yml文件

    springboot启动时是如何加载配置文件application.yml文件今天启动springboot时,明明在resources目录下面配置了application.yml的文件,但是却读不出来,无奈看了下源码,总结一下springboot查找配置文件路径的过程,能力有限,欢迎各位大牛指导!!!spring加载配置文件是通过listener监视器实现的,在springboot启动时:在容器启动完成后会广播一个SpringApplicationEvent事件,而Spri…

    2025年9月26日
    7
  • pytorch LSTM 时间序列预测

    pytorch LSTM 时间序列预测pytorchLSTM 时间序列预测

    2026年3月19日
    2
  • 算数平均数与几何平均数

    算数平均数与几何平均数算数平均数与几何平均数文章目录算数平均数与几何平均数一 算数平均数二 几何平均数 1 定义 2 几何意义三 二者关系一 算数平均数算数平均数分为简单算数平均数与加权算术平均数 简单算术平均 主要用于未分组的原始数据 设一组数据为 x1x 1×1 x2x 2×2 x3x 3×3 xkx kxk 得到简单算数平均 M x1 x2 x3 xkkM frac x 1 x 2 x 3 x k k M kx1 x2 x3 xk 加权算术平均 主要用于处理经分组整理的

    2026年3月19日
    2
  • php curl拓展,php curl扩展的使用

    php curl拓展,php curl扩展的使用1 cURL 介绍 cURL 是一个利用 URL 语法规定来传输文件和数据的工具 支持很多协议 如 HTTP FTP TELNET 等 最爽的是 PHP 也支持 cURL 库 在这里我主要用来跨域获取数据或者提交数据 2 php 使用 curl 的流程 1 curl init 初始化 2 curl setopt 设置变量 3 curl exec 执行获取返回值 4 curl close 释放 c

    2026年3月26日
    3
  • plugins webpack_webpack plugin原理

    plugins webpack_webpack plugin原理plugin插件是webpack的支柱功能。webpack自身也是构建于你在webpack配置中用到的相同的插件系统之上!插件目的在于解决loader无法实现的其他事。常用的插件

    2022年8月7日
    7
  • Linux环境安装node

    Linux环境安装node1 使用可视化工具 Xftp 连接远程服务器 2 在 root 路径下新建一个文件夹 3 到 node js 官网下载 node 的安装包 4 将下载好的安装包 传输到服务器刚才创建好的文件夹中 4 1 选中创建的文件夹并打开 4 2 在 xftp 左侧选中下载的 node 安装包 4 3 右击 传输 5 打开命令行工具 Xshell 工具 连接自己的主机 6 cd 到 node 所在文件夹 7 输入解压命令 并回车 tar xvfnode v16 14 0 linux x64 tar xz8 移动文件夹 mvno

    2026年3月26日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号