无法理解此哈希函数的结果
Unable to understand the result of this hash function
我正在从算法 class(几年前)阅读我的 notes,我发现了这个:
它说:假设
h(k) = k mod m, where m = 4 and k = 100, then h(k) = 4
这是真的吗?我认为 4 * 25 = 100,因此 h(k) = 0。我错过了什么?
我还以为是笔误,刚查了最新版的笔记,还是一样!
模运算符永远不会 return 结果,因为它表示整数除法后的 余数 。
所以这个规则适用于正整数 x 和 y:
x mod y = z ⇒ z < y
上述模运算的另一种写法是:
⎣x/y⎦.y + z = x
如果你能以某种方式实现 z == y
那么显然你在 ⎣x/y⎦
部分做错了。
我正在从算法 class(几年前)阅读我的 notes,我发现了这个:
它说:假设
h(k) = k mod m, where m = 4 and k = 100, then h(k) = 4
这是真的吗?我认为 4 * 25 = 100,因此 h(k) = 0。我错过了什么?
我还以为是笔误,刚查了最新版的笔记,还是一样!
模运算符永远不会 return 结果,因为它表示整数除法后的 余数 。
所以这个规则适用于正整数 x 和 y:
x mod y = z ⇒ z < y
上述模运算的另一种写法是:
⎣x/y⎦.y + z = x
如果你能以某种方式实现 z == y
那么显然你在 ⎣x/y⎦
部分做错了。