我想写可扩展的散列。在wiki上,我在 python 中找到了很好的实现。但是这段代码使用了最低有效位,所以当我有value is和 for 1101
value is的哈希值时。我想使用最高有效位。例如: hash , value is , value is 。有什么简单的方法可以做到这一点吗?我试过了,但我做不到。d = 1
1
d = 2
01
1101
d = 1
1
d = 2
11
你明白为什么它使用最低有效位吗?
或多或少。当我们使用数组时,它会变得高效。好的,所以对于哈希函数,我想使用 4 字节整数中的四个最小位,但从左到右。
h = hash(k)
h = h & 0xf #use mask to get four least bits
p = self.pp[ h >> ( 4 - GD)]
它不起作用,我不知道为什么。