文件名称:bloom:去实现Bloom过滤器的软件包
文件大小:17KB
文件格式:ZIP
更新时间:2024-06-01 18:35:33
go bloom bloom-filters Go
布隆过滤器 布隆过滤器是一组n个项目的表示,主要要求是进行成员资格查询; 即项目是否是集合的成员。 布隆过滤器具有两个参数: m (最大大小(通常是表示集合的基数的相当大的倍数))和k (集合元素上的哈希函数的数量)。 (实际的哈希函数也很重要,但这不是此实现的参数)。 Bloom过滤器由支持; 通过将散列函数的每个值(模m )设置为1,可以在过滤器中表示键。 通过测试是否设置了散列函数的每个值(再次为模m )上的位,来完成集合成员资格。 如果是这样,则该项目在集合中。 如果该项目实际上在集合中,则Bloom过滤器将永远不会失败(真正的阳性率为1.0); 但很容易出现误报。 艺术是正确选择k和m 。 在此实现中,使用的哈希函数是 ,这是一种非加密哈希函数。 此实现接受用于设置和测试的密钥,为[]byte 。 因此,要添加一个字符串项"Love" : n := uint (
【文件预览】:
bloom-master
----.travis.yml(669B)
----bloom_test.go(12KB)
----.github()
--------FUNDING.yml(292B)
--------workflows()
----LICENSE(1KB)
----bloom.go(10KB)
----VERSION(6B)
----murmur.go(7KB)
----.gitignore(274B)
----Makefile(6KB)
----README.md(3KB)
----murmur_test.go(1KB)