考虑一个大小为 7 的哈希表,起始索引为零,以及一个哈希函数(3x + 4)mod7。假设哈希表最初是空的,当使用封闭哈希将序列1、3、8、10插入表中时,以下哪个是表的内容?请注意,“_”表示表中的空位置。
(A) 8, _, _, _, _, _, 10
(B) 1, 8, 10, _, _, _, 3
(C) 1, _, _, _, _, _,3
(D) 1, 10, 8, _, _, _, 3答案:(乙)
说明:请参阅 http://lcm.csa.iisc.ernet.in/dsa/node38.html 以了解封闭散列和探测。
让我们将值 1、3、8、10 放入大小为 7 的哈希中。
最初,哈希表是空的
- - - - - - -
0 1 2 3 4 5 6
函数(3x + 4)mod 7 for 1 的值是 0,所以让我们把值设为 0
1 - - - - - -
0 1 2 3 4 5 6
函数(3x + 4)mod 7 对于 3 的值是 6,所以让我们把值设为 6
1 - - - - - 3
0 1 2 3 4 5 6
函数 (3x + 4)mod 7 for 8 的值是 0,但是 0 已经被占用了,让我们把 value(8) 放在下一个可用空间 (1)
1 8 - - - - 3
0 1 2 3 4 5 6
函数(3x + 4)mod 7 for 10 的值是 6,但是 6 已经被占用了,让我们把值 (10) 放在下一个可用空间 (2)
1 8 10 - - - 3
0 1 2 3 4 5 6
这个问题的测验