上课没好好听讲,写题目的时候不会算这两个,搞了一晚上终于搞懂了,大家看看我理解的对不对
题目
(1)第一问的过程直接贴上来了
(2)查找成功的平均查找长度:
由题(1)可知
查找数字47,查找成功长度为1
查找数字7,查找成功长度为1
查找数字29,查找成功长度为2
查找数字11,查找成功长度为1
查找数字16,查找成功长度为1
查找数字92,查找成功长度为1
查找数字22,查找成功长度为2
查找数字8,查找成功长度为2
查找数字3,查找成功长度为4
查找成功的平均查找长度=1+1+2+1+1+1+2+2+4)/9=5/3(除数9是查找的元素个数)
查找不成功的平均查找长度:
失败的查找次数就是该位置向后的第一个没有关键字的位置之间的距离
地址0到地址2的距离为 3(地址2是地址0向后第一个没有关键字的位置)
地址1到地址2的距离为 2(地址2是地址1向后第一个没有关键字的位置)
地址2到地址2的距离为 1(地址2是地址2向后第一个没有关键字的位置)
地址3到地址10的距离为 8(地址10是地址3向后第一个没有关键字的位置)
地址4到地址10的距离为 7(地址10是地址4向后第一个没有关键字的位置)
地址5到地址10的距离为 6(地址10是地址5向后第一个没有关键字的位置)
地址6到地址10的距离为 5(地址10是地址6向后第一个没有关键字的位置)
地址7到地址10的距离为 4(地址10是地址7向后第一个没有关键字的位置)
地址8到地址10的距离为 3(地址10是地址8向后第一个没有关键字的位置)
地址9到地址10的距离为 2(地址10是地址9向后第一个没有关键字的位置)
地址10到地址10的距离为 1(地址10是地址10向后第一个没有关键字的位置)
查找不成功的平均查找长度=(3+2+1+8+7+6+5+4+3+2+1)/11=42/11(除数11是指题目中的
key mod 11的11)
(3)在看一个链地址法表示的哈希表
查找成功的平均查找长度:
查找1次成功的有6个(红色笔圈起来的第一列的元素)
查找2次成功的有3个(蓝色笔圈起来的第二列元素)
查找成功的平均查找长度=(1×6+2×3)/9=4/3(除数9是查找的元素个数)
查找不成功的平均查找长度:
如图解所示
地址0查找不成功的次数是3次
地址1查找不成功的次数是1次
地址2查找不成功的次数是1次
...............................................
地址10查找不成功的次数是1次
查找不成功的平均查找长度=(3+1+1+3+2+2+1+3+2+1+1)/11=20/11(除数11是指题目中的
key mod 11的11)
——————————————————————————————————————————
ps:有错误欢迎指正,此篇只指出一些解题思路供大家参考。