2012-01-20 84 views
0

可有一个解释哈希表查询

给定大小的哈希表阵列N = 11,并且使用散列函数 - H(X)= 3×+模N

与线性探测

总之,以下的操作顺序进行 :

插入件5,插入件15,插入如图4所示,插入图8,插入如图7所示,插入件12

哈希表的最终状态是什么?


通过我的逻辑
H(5)=(3 * 5)+(7 MOD 11)= 15 + 7 = 22在表中,以便把[0]
H(15)=(3 * 15)+(7 MOD 11)= 45 + 7 = 52在阵列[0],以便放置..斜面所以把在表[1]

但显然我的方法是错误的。 - 例如h(15)在表[8]中排名15
我未能说明什么?

编辑:

忘记国防部11答案!简单的错误。
H(5)=((3 * 5)+ 7)MOD 11 = 15 + 7 = 22 - > 22模11 = 0在表中,以便把[0]
H(15)=(( 3 * 15)+ 7)mod 11 = 45 + 7 = 52 - > 52 mod 11 = 8 so place in array [8]

+0

52 mod 11不是0. –

回答

2

我想你的散列函数应该是(3x + 7) 3x +(7模N)。

+0

这会更有意义!这是一个漫长的一天。 –