Skip to content

Commit fa4c6cd

Browse files
authored
Update bloom-filter.md
1 parent 29b70bf commit fa4c6cd

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

thinkings/bloom-filter.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,13 @@
3131
3232
### 布隆过滤器
3333

34-
布隆过滤器其实就是`bit + 多个散列函数`多次 hash(ip) 会生成多个索引。 如果经过多次散列的值在 bit 上都为 1,那么认为其**可能存在**(因为有冲突的可能)。 如果有一个不为1,那么**一定不存在**(一个值经过散列函数得到的值一定是唯一的),这也是布隆过滤器的一个重要特点。
34+
布隆过滤器其实就是`bit + 多个散列函数`k 次 hash(ip) 会生成多个索引,并将其 k 个索引位置的二进制置为 1。 如果经过 k 个索引位置的值都为 1,那么认为其**可能存在**(因为有冲突的可能)。 如果有一个不为1,那么**一定不存在**(一个值经过散列函数得到的值一定是唯一的),这也是布隆过滤器的一个重要特点。也就是说布隆过滤器回答了:**可能存在****一定不存在** 的问题
3535

3636
![bloom-filter-url](../assets/thinkings/bloom-filter-url.png)
3737

38-
也就是说布隆过滤器回答了:**可能存在****一定不存在** 的问题
38+
从上图可以看出, 布隆过滤器本质上是由**一个很长的二进制向量****多个哈希函数**组成
3939

40-
由于没有 hashtable 的100% 可靠性,因此这本质上是一种**可靠性换取空间的做法**
40+
由于没有 hashtable 的100% 可靠性,因此这本质上是一种**可靠性换取空间的做法**除了可靠性,布隆过滤器删除起来也比较麻烦。
4141

4242
### 布隆过滤器的应用
4343

0 commit comments

Comments
 (0)