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