刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

单选题

对关键码序列(12,24,15,56,20,87,69,9)采用散列法进行存储和查找,散列函数为H(Key)=Key%11,采用线性探查法解决冲突,请构造出的散列表为()。

A
A
B
B
C
C
D
D
使用微信搜索喵呜刷题,轻松应对考试!

答案:

B

解析:

根据题目给出的散列函数H(Key)=Key%11,我们需要对关键码序列中的每个元素进行取余运算,然后将结果作为存储位置。如果出现冲突(即某个位置已经被占用),则采用线性探查法(顺序地探查可用存储单元)来解决。

关键码序列为:(12,24,15,56,20,87,69,9),进行%11运算后的结果分别为:1,2,4,0(由于周期为11,这里可以看作1),9,8(由于周期问题,这里应看作0),3,9。

根据这个结果,我们可以构造散列表如下:

  • 位置0(实际存储1):空或已有元素(假设为空)
  • 位置1:存储元素12(余数为1)
  • 位置2:存储元素24(余数为2)
  • 位置3:存储元素15(余数为4)
  • 位置4:空或已有元素(假设为空),因为连续的两个位置被占用(余数为0和9的元素)
  • 位置5:存储元素中的一个(如第一个冲突的,如位置为空的元素),由于冲突采用线性探查法解决
  • 位置6:存储元素中的一个(同上)
  • 位置7至位置9:依次存储剩余元素(余数为9的元素)和其他冲突解决的元素。由于冲突解决方式未明确给出具体细节,这里无法进行准确填充。因此无法准确判断哪个选项完全正确。但从参考答案来看,选项B的描述可能是其中一种可能的散列表构造方式。
创作类型:
原创

本文链接:对关键码序列(12,24,15,56,20,87,69,9)采用散列法进行存储和查找,散列函数为H(

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share