bloom filter代码实现
时间: 2023-07-07 15:09:04 浏览: 111
以下是一个简单的 Bloom Filter 的 Python 代码实现:
```python
import mmh3
from bitarray import bitarray
class BloomFilter:
def __init__(self, size, hash_functions):
self.size = size
self.hash_functions = hash_functions
self.bit_array = bitarray(size)
self.bit_array.setall(0)
def add(self, item):
for i in range(self.hash_functions):
index = mmh3.hash(item, i) % self.size
self.bit_array[index] = 1
def __contains__(self, item):
for i in range(self.hash_functions):
index = mmh3.hash(item, i) % self.size
if not self.bit_array[index]:
return False
return True
```
在上面的代码中,我们使用了 `mmh3` 和 `bitarray` 库来实现 Bloom Filter。 `mmh3` 库用于哈希函数, `bitarray` 库用于创建位数组并进行相应的操作。在类的构造函数中,我们初始化了一个指定大小的位数组并将所有位设置为 0。`add()` 函数用于将项目添加到 Bloom Filter 中,而 `__contains__()` 函数用于检查项目是否在 Bloom Filter 中。在这个实现中,我们使用了多个哈希函数。
阅读全文
相关推荐

















