设散列表长度为 11,散列函数数H (×)=x% 11,给定的关键字序列为:1, 13, 12, 34,38, 33, 27,22。试画出分别用拉链法和线性探测法解决冲突时所构造的散列表,并求出 在等概率的情况下,这两种方法查找成功和失败时的平均查找长度。
时间: 2024-04-02 16:36:35 浏览: 126
以下是使用拉链法和线性探测法解决冲突时所构造的散列表,其中数字代表关键字:
拉链法:
0:
1 --> 12 --> 33
1:
34 --> 22
2:
13
3:
38
4:
5:
6:
27
7:
8:
9:
10:
线性探测法:
0:
1 --> -1 --> -1 --> -1 --> 34 --> -1 --> -1 --> -1 --> -1 --> -1 --> -1
1:
-1 --> 12 --> -1 --> -1 --> -1 --> -1 --> -1 --> -1 --> -1 --> -1 --> 22
2:
-1 --> -1 --> -1 --> -1 --> -1 --> -1 --> -1 --> -1 --> -1 --> -1 --> -1
3:
-1 --> -1 --> -1 --> -1 --> -1 --> -1 --> -1 --> -1 --> -1 --> 38 --> -1
4:
-1 --> -1 --> -1 --> -1 --> -1 --> -1 --> -1 --> -1 --> -1 --> -1 --> 33
5:
-1 --> -1 --> -1 --> -1 --> -1 --> -1 --> -1 --> -1 --> -1 --> -1 --> -1
6:
-1 --> -1 --> -1 --> -1 --> -1 --> -1 --> 27 --> -1 --> -1 --> -1 --> -1
7:
-1 --> -1 --> -1 --> -1 --> -1 --> -1 --> -1 --> -1 --> -1 --> -1 --> -1
8:
-1 --> -1 --> -1 --> -1 --> -1 --> -1 --> -1 --> -1 --> -1 --> -1 --> -1
9:
-1 --> -1 --> -1 --> -1 --> -1 --> -1 --> -1 --> -1 --> -1 --> -1 --> -1
10:
-1 --> -1 --> -1 --> -1 --> -1 --> -1 --> -1 --> -1 --> -1 --> -1 --> -1
在等概率的情况下,使用拉链法和线性探测法查找成功和失败时的平均查找长度如下:
对于拉链法,查找成功时平均查找长度为 (1+2+1+1+1+1+1+1)/8 = 1.25,查找失败时平均查找长度为 1。
对于线性探测法,查找成功时平均查找长度为 (1+2+2+1+1+2+1)/8 = 1.375,查找失败时平均查找长度为 (11/2) * (1/11) * (1+2+3+...+11) = 6。
阅读全文