已知一组初始记录关键字序列为(35,20,33,48,59,47,62,50,48)。其哈希函数为H(key)=key%13处理中突的方法为排地址 法。 试求:(1)画出哈希表。 (2)计算等概率查找时查找成功的平均查找长度。
时间: 2023-05-26 11:04:57 浏览: 123
Hash表存储数据,用再散列来解决地址冲突问题,计算平均查找长度,还可以通过Key值查找对应的value
(1) 哈希表:
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| ----- | --- | --- | --- | --- | ----- | --- | --- | ----- |
| | 35 | 33 | 62 | | 47,20 | | | 50,48 |
| | | | 48 | | 59 | | | |
(2) 计算等概率查找时查找成功的平均查找长度:
- 对于已经存储的记录:
- 35:在哈希表的位置0,平均查找长度为1。
- 20、33、47、48、50、59、62:在哈希表的位置5或8,平均查找长度为1。
- 对于不在哈希表中的记录:
- 34:哈希函数为H(34)=34%9=7,但位置7为空,平均查找长度为1。
- 60:哈希函数为H(60)=60%9=6,但位置6为空,平均查找长度为1。
因此,等概率查找时查找成功的平均查找长度为:
$$\frac{1+7\times 1+2\times 1}{9}=1.22$$
阅读全文