问答题 对于一个长度为m=41的散列表,采用双散列法解决冲突,对于关键字k 1 ,k 2 ,k 3 ,若h(k 1 )=30,h(k 2 )=28,h(k 3 )=19,h 2 (k 1 )=14,h 2 (k 2 )=27,h 2 (k 3 )=35,则k 1 ,k 2 ,k 3 的探测序列中前4个位置各为多少。
问答题 k 1 的探测序列: 30 ,______,______,______;
【正确答案】
【答案解析】在双散列法中,求初始散列地址的散列函数为h(x),求下一个空位的增量函数为h 2 (x),一旦发生冲突,求下一个空位的公式为:
H i =(h(x)+i×h 2 (x))%m,i=1,2,…,m-1
据此可得:
k 1 的探测序列: 3031731
问答题 k 2 的探测序列: 28 ,______,______,______;
【正确答案】
【答案解析】k 2 的探测序列: 2814022
问答题 k 3 的探测序列:______,______,______,______;
【正确答案】
【答案解析】k 3 的探测序列: 191371