A-A+
已知一个线性表为(38 25 74 63 52 48) 假定采用H(K)=K mod 7计算
问题详情
已知一个线性表为(38,25,74,63,52,48),假定采用H(K)=K mod 7计算散列地址进行散列存储,若利用线性探测的开放定址法处理冲突,则在该散列表上进行查找的平均查找长度为();若利用链地址法处理冲突,则在该散列上进行查找的平均查找长度为()。
A.1.5,1
B.1.7,3/2
C.2,4/3
D.2.3,7/6请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:C
解析:若利用线性探测的开放定址法处理冲突,发生0次冲突的关键字有3个,1次冲突的1个,2次冲突的1个,3次冲突的1个,因而在该散列表上进行查找的平均查找长度为ASL=(3*1+1*2+1*3+1*4)/6=2;若利用链地址法处理冲突,同一链表上有1个元素的线性链表有2个,有2个元素的线性链表有2个,因此ASL=(4*1+2*2)/6=4/3。