十一、Bloom Filter

1.把第一个URL按照三种Hash算法,分别生成三个不同的Hash值。


2.把第二个URL也按照三种Hash算法,分别生成三个不同的Hash值。

 3.依次比较每一个Hash结果,只有当全部结果都相等时,才判定两个URL相同。

 

 

具体怎样映射呢?流程如下:
1.创建一个空的Bitmap集合。

 2.把第一个URL按照三种Hash算法,分别生成三个不同的Hash值。

 3.分别判断5,17, 9 在Bitmap的对应位置是否为1,只要不同时为1,就认为该Url没有重复,于是把5,17,9的对应位置设置为1。

 4.把第二个URL按照三种Hash算法,分别生成三个不同的Hash值。

5.分别判断10,12, 9 在Bitmap的对应位置是否为1,只要不同时为1,就认为该Url没有重复,于是把10,12, 9
的对应位置设置为1。

6.把第三个URL按照三种Hash算法,分别生成三个不同的Hash值。

7.分别判断4,16, 11 在Bitmap的对应位置是否为1,只要不同时为1,就认为该Url没有重复,于是把4,16, 11的对应位置设置为1。

 8.把第四个URL按照三种Hash算法,分别生成三个不同的Hash值。

9.分别判断5,17, 9 在Bitmap的对应位置是否为1。判断的结果是 5,17, 9 在Bitmap对应位置的值都是1,所以判定该Url是一个重复的Url。

 

 

 1.URL按照三个Hash算法得到三个结果。

 2.分别判断10,12, 17 在Bitmap的对应位置是否为1。判断的结果是 10,12, 17 在Bitmap对应位置的值都是1,所以判定该Url是一个重复的Url。

 

 

 

 

 

 

原文地址:https://www.cnblogs.com/lanblogs/p/15479287.html