已知一个线性表为(38,25,74,63,52,48),假定采用H(K)=Kmod7计算散列地址进行散列存储,若利用线性探测的开放定址法处理冲突,则在该散列表上进行查找的平均查找长度为();若利用链地址法处理冲突,则在该散列上进行查找的平均查找长度为()。
- 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。