开放寻址中的线性探测

时间:2010-06-23 04:08:47

标签: hash

我有一个大小为m = 11的数组,我的哈希函数是分区方法:h(k) = k mod m 我有一个整数k = 1010 mod 11 is -1所以我应该把这个键放在数组中?我应该把这个密钥放在索引为10的插槽中? 请帮助我谢谢

编辑:为了得到我的答案,例如我有k = 10,22,31,4,15,28,17,88,59

之类的整数

阵列会是这样的吗?谢谢

10  9   8   7   6   5   4   3   2   1   0     index
10  31  59  17  28  4   15          88  22    keys

1 个答案:

答案 0 :(得分:0)

通常情况下,10 mod 11是10,所以是的,你通常使用索引10.

编辑:概括:至少在通常定义的情况下,给定两个正输入,模数将始终产生正结果。因此,关于如何处理否定结果的问题对于正常定义并没有真正意义。

如果你真的有可能得到负面结果,我立即反应将转换为一种能产生合理结果的语言。如果你不能这样做,那么你可能想要通过将m添加到负数来将值移动到正确的范围,直到得到[0..m]范围内的数字,这样它就适合mod的正常定义,然后将其用作索引。