布隆过滤器就是一个初始为0的数组+n个hash函数 上图三个hash函数h1,h2,h3,分别算出x1的三个位置,h1(x1),h2(x1),h3(x1),然后把对应位置(数组的1,4,8)置1,同理算出x2的三个位置(数组的4,6,10)置1 判断是否存在则根据三个hash函数算出3个位置,如果都 ...
分类:
其他好文 时间:
2021-06-28 20:33:44
阅读次数:
0
一 布隆过滤器简介 bloomfilter:是一个通过多哈希函数映射到一张表的数据结构,能够快速的判断一个元素在一个集合内是否存在,具有很好的空间和时间效率。(典型例子,爬虫url去重) 原理: BloomFilter 会开辟一个m位的bitArray(位数组),开始所有数据全部置 0 。当一个元素 ...
分类:
其他好文 时间:
2021-03-01 13:19:00
阅读次数:
0
上一节说到如果要从海量数据中查找字符串的话,红黑树和和hashtable都不行,所以会用到布隆过滤器。 布隆过滤器 1、定义 布隆过滤器是?种概率型数据结构,它的特点是?效的插?和查询,能明确告知某个字符串 ?定不存在或者可能存在; 2、优点 布隆过滤器相?传统的查询结构(例如:hash,set,m ...
分类:
编程语言 时间:
2021-01-27 14:02:25
阅读次数:
0
Algorithm 每周至少做一个Leetcode算法题 第1道 【来源】 《剑指Offer》12# 【题目】 设计一个函数,输入整数n,打印1到最大的n位数 【例子】 输入:3 输出:1,2,...,998,999 解释:最大的3位数是999 【解答】 题目未指定n的大小,需考虑到大数问题,常用的 ...
分类:
其他好文 时间:
2021-01-20 12:01:02
阅读次数:
0
引入pom文件<dependency> <groupId>org.redisson</groupId> <artifactId>redisson-spring-boot-starter</artifactId> <version>3.13.4</version></dependency> publi ...
分类:
其他好文 时间:
2021-01-15 11:53:50
阅读次数:
0
这一篇是我重写的,之前写过一篇发现面试的时候问的问题虽然大概能解决,但是有几个点没有整理到位,所以自己给自己列出了很多面试常见的问题,准备一篇一篇去解决。本文整体思路是延续之前的那篇文章,在此基础之上添加了几个点而已。 布隆过滤器主要是在redis中问的比较多,因此像这种数据结构类的,主要是考原理以 ...
分类:
其他好文 时间:
2020-12-08 12:23:21
阅读次数:
3
层峦叠崎一一布隆过滤器 布隆过滤器( Bloom Filter )在起到去重作用的同时,在空间上还能节省 90% 以上,只是稍微有那么点不精确,也就是有一定的误判概率。 怎样理解布隆过滤器? 布隆过滤器理解为一个不怎么精确的 set 结构,当你使用它的 contains 法判断某个对象是否存在时,它 ...
分类:
其他好文 时间:
2020-11-27 10:51:16
阅读次数:
6
福哥答案2020-11-09: 相同点:都是过滤器。 不同点:算法:布隆过滤器多个hash函数。布谷鸟过滤器用布谷鸟哈希算法。能否删除:布隆过滤器无法删除元素。布谷鸟过滤器可以删除元素,有误删可能。空间是否2的指数:布隆过滤器不需要2的指数。布谷鸟过滤器必须是2的指数。空间利用率:相同误判下,布谷鸟 ...
分类:
其他好文 时间:
2020-11-10 11:17:30
阅读次数:
9
什么情况下需要布隆过滤器? 先来看几个比较常见的例子 字处理软件中,需要检查一个英语单词是否拼写正确 在 FBI,一个嫌疑人的名字是否已经在嫌疑名单上 在网络爬虫里,一个网址是否被访问过 yahoo, gmail等邮箱垃圾邮件过滤功能 这几个例子有一个共同的特点: 如何判断一个元素是否存在一个集合中 ...
分类:
其他好文 时间:
2020-10-27 11:01:11
阅读次数:
45
什么是布隆过滤器 布隆过滤器(Bloom Filter)是有布隆在 1970 年提出的。它实际上是由一个很长的二进制向量和一系列随机映射函数组成。 是一种数据结构,概率性的数据结果 布隆过滤器实现 MyBloomFilter.java import java.util.Arrays; import ...
分类:
其他好文 时间:
2020-10-18 10:13:56
阅读次数:
22