散列表相关题目(线性探测再散列法)

散列表相关题目(线性探测再散列法)


一、题目

将关键字序列(7、8、30、11、18、9、14)散列存储到散列表中。散列表的存储空间是一个下标从0开始的一维数组,散列函数为H(key)=(key×3) mod 7,处理冲突采用线性探测再散列法,要求装填(载)因子为0.7。

1)请画出所构造的散列表。

2)分别计算等概率情况下查找成功和查找不成功的平均查找长度。

二、解题思路及步骤

下面是详细的解题过程及方法思路

①第(1)问

在这里插入图片描述

②第(2)问

在这里插入图片描述

总结

(1)注意红字部分的内容!!!
(2)注意在使用线性探测再散列法找地址时,位置为(H(key)mod表长,此处为10),不是题干给出的哈希函数的7!!!
(3)计算查找失败的ASL时,要考虑初始地址的范围,是题目中所给出的哈希函数中mod后面的值,本题中为7,范围为0~6。注意不是10!!!

  • 123
    点赞
  • 406
    收藏
    觉得还不错? 一键收藏
  • 26
    评论
线性探测散列是一种处理冲突的方。当发生冲突时,它会从发生冲突的地址开始,依次探查下一个地址,直至找到一个空位置为止。如果在查找失败时,还没有找到需要查找的元素,那么可以根据线性探测的思路,继续向后查找直到找到一个空位置或者遍历完整个散列表。这样可以实现查找不成功的功能。 参考中提到了线性探测的处理冲突方式,它可以用来解决散列表中的冲突问题。当然,线性探测也有一定的局限性,例如极易产生堆积问题。因此,在选择处理冲突的方时,需要根据具体问题的特点来决定是否采用线性探测。 参考中给出了一个具体的例子,展示了如何通过线性探测构建散列表,并计算查找失败的平均长度和查找成功的平均长度。通过这个例子,可以更好地理解线性探测的应用和计算方。 参考中的题目要求使用线性探测将给定关键字序列散列存储到散列表中,并计算等概率情况下的查找成功和不成功的平均查找长度。可以根据散列函数和线性探测的规则来构造散列表,并根据相关公式计算平均查找长度。 综上所述,线性探测散列可以用于处理查找不成功的情况,并且可以根据具体问题的要求来设计散列表和计算平均查找长度。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [计算散列表查找成功和查找不成功的平均查找长度(利用线性探测处理冲突)](https://blog.csdn.net/weixin_43305485/article/details/120680371)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值