[如何实现乡村振兴]如何实现bloomfilter?

沉淀,分享,成长,让自己和他人都有所收获!

布鲁姆过滤器是由伯顿霍华德布鲁姆于1970年提出的。它是一种节省空间的概率数据结构,包括一个长二进制向量和一些列随机映射函数。

赵敏:无忌,成昆在光的顶端!

张无忌:我们的滤网年久失修,已经不允许了!

张无忌:Bloom filter长度太小,哈希计算单一。这样一来,谢所在的位面,朴崇和都有相同的哈希值,所以无法判断是否走到了光明顶。我们必须赶快上山。一路小心。

左洋大使:老板,我现在就去修理。布隆过滤器的优化可以通过增加长度和计算散列来解决。

Bloom filter的实现阈值包括可以存储二进制元素的BitSet和各种哈希计算函数。

的所有元素都通过各种哈希计算存储在BitSet中,可以尽可能分散元素,减少误判。

这里提供了四种哈希计算方法,相当于每次哈希计算都是一次扰动处理。一个元素的存储可以散列四次,元素的值应该尽可能散列。

构造函数根据容器大小和要创建的哈希种子初始化布隆过滤器。

添加元素时,根据元素初始化时的哈希种类计算哈希,获取并存储哈希。

比较元素时,使用相同的哈希计算方法,计算这些哈希值。记录具有n个比特位置的值更准确。

单元测试

可以看到,这里初始化了一个更大的Bloom filter,提供了四个随机种子;计算哈希值。

试验结果

根据测试,存储的val00val01和val02可以被验证为真,存储的val03可以被验证为假。

布隆过滤器的使用场景?

[如何实现乡村振兴]如何实现bloomfilter? 热门话题

如何实现Bloom filter?

如何提高Bloom filter的精度?

中间hash的计算方法有哪些?


发表评论

Copyright 2002-2022 by 海星自行车网(琼ICP备2022001899号-3).All Rights Reserved.