问题
单项选择题
若线性表(23,14,45,12,8,19,7)采用散列法进行存储和查找。设散列函数为H(Key)=Keymod7并采用线性探查法(顺序地探查可用存储单元)解决冲突,则构造的散列表为(),其中,mod表示整除取余运算。
A.选项A
B.选项B
C.选项C
D.选项D
答案
参考答案:A
解析:
本题考查哈希存储方法。
对于关键字23、14、45、12、8、19,由哈希函数得到的哈希地址没有冲突,元素直接存入,如下所示。
对于元素7,其哈希地址为0,但是该地址中已经存入元素14,因此由H1=(Hash(12)+1) mod 7=1,再试探哈希地址1,但该地址已被元素8占用,发生冲突;再计算H2=(Hash(12)+2) mod 7=2,发生冲突(地址2被元素23占用);再计算H3=(Hash(12)+3)mod 7=3,发生冲突;再试探哈希地址4,空闲,因此将元素7存入哈希地址为4的单元,如下所示。