问题 单项选择题

设有一个用线性探测法解决冲突得到的散列表,该表共有0~10个地址单元,其中地址单元2~8中的内容依次为13,25,80,16,17,6,14。散列函数为:
H(k)=k mod 11
若要查找元素14,探测(比较)的次数是( )。

A.8

B.9

C.3

D.6

答案

参考答案:D

解析: 由散列函数为:H(k)=k mod11可计算出13,25,80,16,17,6, 14的散列地址依次为2、3、3、5、6、6、3,在存储14时,2、3、4、5、6、7连续6个单元已经被占用,如表13-17所示。而14的散列地址为3,因此在查找时需从地址为3的位置开始比较,一直到14存储的地址8(包括8),共比较了6次。
                  表13-17 各数据的存储位置

散列地址