文章

91

粉丝

0

获赞

4

访问

9.5k

头像
2018年计算机学科专业基础综合试题 - 第41题回答
数据结构
发布于2025年10月9日 22:32
阅读数 104


评分及理由

(1)得分及理由(满分3分)

学生答案的基本设计思想是使用辅助数组记录1~n范围内出现的正整数,然后遍历辅助数组找到第一个未出现的正整数。这种思路是正确的,能够解决问题,并且时间复杂度为O(n)。虽然与标准答案的"标记法"不同,但根据评分要求"思路正确不扣分",因此该部分得满分3分。

(2)得分及理由(满分8分)

学生代码存在以下问题:

  • 代码中的break语句会导致提前退出循环,应该返回j而不是break
  • 当所有1~n都出现时,应该返回n+1,但代码中j的范围是1到n+1,最后一个元素是record[n+1],如果record[n+1]为0,会返回n+1,这是正确的;但如果record[n+1]不为0,循环结束后j的值是n+2,返回n+2,这是错误的
  • 变量j在循环外部使用,在某些编译器中可能无法通过编译

主要逻辑错误是break的使用不当,应该改为直接return j。考虑到核心思路正确,但实现有缺陷,扣3分,得5分。

(3)得分及理由(满分2分)

学生正确分析了时间复杂度O(n)和空间复杂度O(n),与算法实际情况相符,得满分2分。

题目总分:3+5+2=10分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发