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