问题
单项选择题
已知一个线性表(38,25,74,63,52,48),假定采用h(k)=k%6计算散列地址进行散列存储,若用线性探测的开放定址法处理冲突,则在该散列表上进行查找的平均查找长度为()。
A.1.5
B.1.7
C.2
D.2.3
答案
参考答案:A
解析:
用散列函数n(k)=k%6计算得到散列地址见表2。
表2 散列地址
关键字
散列地址
38 | 25 | 74 | 63 | 52 | 48 |
2 | 1 | 2 | 3 | 4 | 0 |
用线性探测的开放定址法处理冲突所构造得到的散列表见表3。
表3 散列表
0 | 1 | 2 | 3 | 4 | 5 |
48 | 25 | 38 | 74 | 63 | 52 |
1 | 1 | 1 | 2 | 2 | 2 |
该散查找次数列表的平均查找长度为(1×3+2×3)/6=1.5。