题库首页 › 青少年软件编程(C语言) › 题目 11380

整型关键字的平方探测法散列 本题的任务很简单:将给定的无重复正整数序列插入一个散列表,输出每个输入的数字在表中的位置。所用的散列函数是 H(key) = key % TSize,其中 TSize 是散列表的表长。要求用平方探测法(只增不减,即H(Key)+i2)解决冲突。 注意散列表的表长最好是个素数。如果输入给定的表长不是素数,你必须将表长重新定义为大于给定表长的最小素数。 时间限制:4000 内存限制:65536 输入 首先第一行给出两个正整数 MSize(≤ 104)和 N(≤ MSize),分别对应输入的表长和输入数字的个数。随后第二行给出 N 个不重复的正整数,数字间以空格分隔。 输出 在一行中按照输入的顺序给出每个数字在散列表中的位置(下标从 0 开始)。如果某个数字无法插入,就在其位置上输出 `-`。输出间以 1 个空格分隔,行首尾不得有多余空格。 样例输入 4 4 10 6 4 15 样例输出 0 1 4 -

正确答案:参考程序(Python):平方探测散列。表长改为素数。平方探测(+i²)插入,输出位置,无法插入输出-。样例4 4→0 1 4 -。核心:平方探测散列。

试卷来源:202412 青少年等级考试C/C++真题六级

本卷相关题目

在线做题 同科目题库