请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师:关于boolmfilter的问题

源代码中

            hash = mmh3.hash(value, seed)

            if hash >= 0:

                hashs.append(hash)

            else:

                hashs.append(self.N - hash)

这里不是可以直接取绝对值吗?

干嘛要这样写?这样写的话改小capacity是没有用的,这里会增加self.N大小的内存

正在回答 回答被采纳积分+3

2回答

提问者 慕粉1724417796 2017-06-08 14:47:09

我意思是直接取hash的绝对值,如果用self.N-hash这种,就相当于增加了slef.N

0 回复 有任何疑惑可以回复我~
  • bobby #1
    你可以看这篇文章了解一下 http://liuliqiang.info/post/150/ 这种哈希函数的介绍
    回复 有任何疑惑可以回复我~ 2017-06-09 09:58:15
bobby 2017-06-07 17:39:04

你说的是self.N 改成绝对值吗? 这个只是一种写法 一般不建议把绝对值写到代码中 如果这个值多个地方用到了 一旦修改起来就会到各个地方修改 这个就是类似c语言中声明的const变量一样

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信