🚀 数据结构
已知一个线性序列{38,25,74,63,52,48},假定用散列函数Hash(key)=key%7计算散列地址,散列存储在表A[10]中。如果采用线性探测法解决冲突,且各元素的查找概率相等,则在该散列表上查找不成功的平均查找长度为___(中国科学院大学 2016)
A. 2.60
B. 3.14
C. 3.71
D. 4.33
解析
答案:B
🎵 线性探测法就是当冲突发生的时候,顺序查看表中下一个单元,直到找出一个空闲单元。计算如图:
散列地址 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|---|
关键字 | 63 | 38 | 25 | 74 | 52 | 48 |
H(key)=0~6,所以查找失败可能对应的地址有7个。如果关键字为3,需要比较完3~8号才能确定关键字不在表中,查找长度为6,所以平均查找长度为:
<