线性探测法处理哈希冲突:示例详解
假设哈希算法为 h(x) = x%13,冲突解决办法为线性探查法,依次插入 '3', '6', '16', '17', '20', '7',之后,哈希表中的元素是什么内容?
插入过程中需要使用线性探查法处理冲突,当插入元素时如果发现该位置已经被占用,则向后查找直到找到一个空闲位置。具体插入过程如下:
- 插入元素 '3',h('3')=3%13=3,哈希表第 3 个位置为空,插入 '3'。
- 插入元素 '6',h('6')=6%13=6,哈希表第 6 个位置为空,插入 '6'。
- 插入元素 '16',h('16')=16%13=3,哈希表第 3 个位置已被占用,向后查找,发现第 4 个位置为空,插入 '16'。
- 插入元素 '17',h('17')=17%13=4,哈希表第 4 个位置为空,插入 '17'。
- 插入元素 '20',h('20')=20%13=7,哈希表第 7 个位置为空,插入 '20'。
- 插入元素 '7',h('7')=7%13=7,哈希表第 7 个位置已被占用,向后查找,发现第 8 个位置为空,插入 '7'。
最终哈希表中的元素为:['3', '6', '16', '17', '20', '7']。
原文地址: https://www.cveoy.top/t/topic/mkIw 著作权归作者所有。请勿转载和采集!