结构推理
使用开地址法,利用双散列的方法解决冲突,把下面的关键码插入到一个有13个位置的散列表中(从0到12编号)。使用的散列函数H
1
和H
2
在下面给出定义。给出顺序插入关键码(2,8,31,20,19,18,53,27)以后的散列表。说明如何使用H
1
和H
2
进行散列。其中函数Rev(k)颠倒十进制数的各个位上的数字,例如,Rev(37)=73;Rev(7)=7。H
1
(k)=k mod 13;H
2
(k)=(Rev(k+1)mod 11)。
【正确答案】
H
1
(2)=2,2存入2号。
H
1
(8)=8,8存入8号。
H
1
(31)=5,31存入5号。
H
1
(20)=7,20存入7号。
H
1
(19)=6,19存入6号。
H
1
(18)=5,出现碰撞,H
2
(18)=3,18的探查序列为5,8,11等,18存入11号。
H
1
(53)=1,53存入1号。
H
1
(27)=1,出现碰撞,H
2
(27)=5,27的探查序列为1,6,11,3等,27存入3号。
插入8个关键码以后的散列表如下所示:
位置 0 1 2 3 4 5 6 7 8 9 10 11 12
关键码 53 2 27 31 19 20 8 18
【答案解析】
提交答案
关闭