文章

37

粉丝

0

获赞

2

访问

1.9k

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


评分及理由

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

学生答案的基本设计思想是:开辟一个新数组,遍历原数组,将正数对应的新数组位置标记,然后遍历新数组找到第一个未被标记的位置。这种思路与标准答案不同,但也是正确的哈希思想(使用辅助数组记录出现情况)。思路正确且能解决问题,因此不扣分。得3分。

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

学生代码描述存在以下问题:
1. 代码语法错误:新数组大小使用变量n(C语言不支持变长数组的此种写法,但C++支持,此处根据上下文判断为误写,不扣分)。
2. 逻辑错误:原数组未定义且未传入参数,代码不完整(扣2分)。
3. 逻辑错误:第一个循环中未处理负数和非正整数,但学生思路中说明"遍历到正数时"处理,因此循环内条件正确,但未显式处理非正数(根据思路不扣分)。
4. 逻辑错误:第二个循环逻辑混乱,条件判断错误(j==1时count++,否则break,导致只能检查位置1,无法找到真正的最小未出现正整数)(扣4分)。
5. 代码未返回正确结果,且count未初始化(扣1分)。
综合以上逻辑错误,共扣7分,得1分。

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

学生正确分析了时间复杂度O(n)和空间复杂度O(n),与算法思路一致,因此不扣分。得2分。

题目总分:3+1+2=6分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发