问答题
设哈希函数为:H(key)=key mod
13,其中key为关键字,mod为取模运算,试用关键字序列{39,25,15,54,26,24,14,21,37,38}构造哈希表。
问答题
用链地址法处理冲突,画出该哈希表的存储结构图,假定每个记录的查找概率相等,计算查找成功时的平均查找长度。
【正确答案】对关键字序列进行取模运算,得到下表。
| Key |
39 |
25 |
15 |
54 |
26 |
24 |
14 |
21 |
37 |
38 |
| H(key) |
0 |
12 |
2 |
2 |
0 |
11 |
1 |
8 |
11 |
12 |
则该哈希表的存储结构图如下图所示。
[*]
查找成功时的查找长度为:(6+2×4)/10=1.4
【答案解析】
问答题
设表地址范围为0~13,用线性探测再散列法处理冲突,画出该哈希表的存储结构图,假定每个记录的查找概率相等,计算查找成功时的平均查找长度。
【正确答案】用线性探测再散列法处理冲突得到的哈希表如下表所示(下面一行为Key值):
| 0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
| 39 |
26 |
15 |
54 |
14 |
38 |
|
|
21 |
|
|
24 |
25 |
37 |
查找成功时的平均查找长度为:(1+1+1+2+2+1+2+1+3+8)/10=2.2
【答案解析】