PAT-ADVANCED1145——Hashing - Average Search Time

该博客主要解析PAT甲级试题1145,涉及哈希表、素数和哈希冲突的正平方探测法。作者分享了如何处理哈希冲突以及计算平均搜索时间的思路,并给出了C++代码实现。文章提醒读者注意哈希表大小应选择素数,同时提供了输入输出样例和时间复杂度分析。
摘要由CSDN通过智能技术生成

我的PAT-ADVANCED代码仓:https://github.com/617076674/PAT-ADVANCED

原题链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805343236767744

题目描述:

题目翻译:

1145 哈希——平均搜索时间

这个问题的任务很简单:首先在哈希表中插入一系列不同的正整数。然后尝试从表中找到另一个整数序列,并输出平均搜索时间(用于查找键是否在表中的比较次数)。散列函数被定义为H(Key) = Key % TSize,其中TSize是散列表的最大大小。二次探测(仅具有正增量)用于解决哈希冲突。

请注意,哈希表的大小最好是素数。如果用户给出的最大大小不是素数,则必须将表大小重新定义为最大素数,该素数大于用户给出的大小。

输入格式:

每个输入文件包含一个测试用例。对于每个测试用例,第一行包含3个正数:MSize,N和M,它们分别是用户定义的哈希表大小,输入数字的数量和要找到的键的数量。这三个数字都不超过10 ^ 4。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值