浙江大学陈越教授数据结构PTA 题目——7-2 整型关键字的平方探测法散列

本文详细介绍了如何使用平方探测法解决散列表中的冲突问题,特别是当表长为素数时的处理。代码实现包括了散列表的创建、哈希函数、查找和插入操作,并在主函数中展示了输入序列的处理过程。强调了输入表长如果不是素数,需要找到大于给定值的最小素数作为新的表长。此外,还提醒了在冲突解决过程中只进行奇数次探测的重要性。

一.题目理解: 

        将给定的重复正整数序列插入一个散列表,输出每个输入的数字在表中的位置。

        所用的散列函数是 H(key)=key%TableSize,其中 TableSize 是散列表的表长。要求用平方探测法(只增不减,即H(Key)+i2)解决冲突。

        注意散列表的表长最好是个素数。如果输入给定的表长不是素数,你必须将表长重新定义为大于给定表长的最小素数。

二.此题与书上代码的差别

        1)此题要求输入的表长若为素数,则直接返回这个值。

                (若返回大于N  且  超过MAXTABLESIZE的最大素数:将p=N改为p=N+1)

 

        2)平方探测法只增减:即只有奇数次冲突,且别忘了最后加break(否则无法跳出循环)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小吴同学·

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值