文章

148

粉丝

0

获赞

0

访问

13.8k

头像
2018年(408)计算机学科专业基础综合试题 - 第41题回答
数据结构
发布于2025年11月28日 16:39
阅读数 7


评分及理由

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

得分:2分。理由:学生的基本设计思想是使用一个辅助数组来标记出现的正整数,然后查找第一个未标记的位置。这个思路是正确的,能够解决问题,但相比标准答案的O(1)空间复杂度方法,学生的方案需要O(n)的额外空间,在空间效率上不够优化。不过题目要求"时间上尽可能高效",学生的方案满足O(n)时间复杂度,因此基本设计思想部分扣1分。

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

得分:5分。理由:学生的代码实现存在几个逻辑错误:
1. 辅助数组A没有初始化为0(malloc分配的内存内容不确定)
2. 在else分支中有i++,会导致跳过一些元素
3. 当j从1开始时,如果所有位置都被标记,应该返回n+1,但代码直接返回j可能不正确
4. 没有考虑数组元素可能大于n的情况,会导致数组越界
5. 函数参数缺少数组大小n
这些逻辑错误影响了算法的正确性,因此扣3分。

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

得分:2分。理由:学生正确分析了时间复杂度和空间复杂度,都是O(n),与算法实现相符。

题目总分:2+5+2=9分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发