单选题 若线性表(23,14,45,12,8,19,7)采用散列法进行存储和查找。设散列函数为 H(Key)=Key mod 7并采用线性探查法(顺序地探查可用存储单元)解决冲突,则构造的散列表为 (38) ,其中,mod表示整除取余运算。

若线性表(23,14,45,12,8,19,7)采用散列法进行存储和查找。设散列函数为 H(Key)=Key mod 7并采用线性探查法(顺序地探查可用存储单元)解决冲突,则构造的散列表为 (38) ,其中,mod表示整除取余运算。
A.
 哈希地址
0
1
2
3
4
5
6
 关键字
14
8
23
45
7
12
19
B.
 哈希地址
0
1
2
3
4
5
6
 关键字
7
8
12
14
19
23
45
C.
 哈希地址
0
1
2
3
4
5
6
 关键字
7
8
23
45
12
19
14
D.
 哈希地址
0
1
2
3
4
5
6
 关键字
14
7
12
8
45
23
19
【正确答案】 A
【答案解析】[解析] 本题考查哈希存储方法。
对于关键字23、14、45、12、8、19,由哈希函数得到的哈希地址没有冲突,元素直接存入,如下所示。
 哈希地址
0
1
2
3
4
5
6
 关键字
14
8
23
45
12
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的单元,如下所示。
 哈希地址
0
1
2
3
4
5
6
 关键字
14
8
23
45
7
12
19