假设哈希算法为 h(x) = x%13,冲突解决办法为线性探查法,依次插入 '3', '6', '16', '17', '20', '7',之后,哈希表中的元素是什么内容?

插入过程中需要使用线性探查法处理冲突,当插入元素时如果发现该位置已经被占用,则向后查找直到找到一个空闲位置。具体插入过程如下:

  1. 插入元素 '3',h('3')=3%13=3,哈希表第 3 个位置为空,插入 '3'。
  2. 插入元素 '6',h('6')=6%13=6,哈希表第 6 个位置为空,插入 '6'。
  3. 插入元素 '16',h('16')=16%13=3,哈希表第 3 个位置已被占用,向后查找,发现第 4 个位置为空,插入 '16'。
  4. 插入元素 '17',h('17')=17%13=4,哈希表第 4 个位置为空,插入 '17'。
  5. 插入元素 '20',h('20')=20%13=7,哈希表第 7 个位置为空,插入 '20'。
  6. 插入元素 '7',h('7')=7%13=7,哈希表第 7 个位置已被占用,向后查找,发现第 8 个位置为空,插入 '7'。

最终哈希表中的元素为:['3', '6', '16', '17', '20', '7']。


原文地址: https://www.cveoy.top/t/topic/mkIw 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录