文章

123

粉丝

93

获赞

1

访问

16.6k

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


评分及理由

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

学生答案的基本设计思想是:创建一个长度为n+1的辅助数组,遍历原数组,将正数作为下标在辅助数组中标记,然后从1开始遍历辅助数组找到第一个未被标记的位置。这种思路是合理的,能够正确解决问题,与标准答案的哈希标记思想本质相同(只是实现方式不同)。因此得3分。

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

算法实现存在以下问题:
1. 在遍历原数组时,直接使用A[i]作为下标访问B数组,但A[i]可能为负数或大于n的数,这会导致数组越界访问,属于严重逻辑错误。
2. 代码中缺少对非正整数和超出范围正整数的处理,直接使用B[tem]++会产生未定义行为。
3. 虽然memset初始化在第一次识别中出现,但第二次识别中没有,不过这不是关键问题。
由于存在严重的数组越界风险,扣4分。得4分。

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

学生正确分析了时间复杂度O(n)和空间复杂度O(n),与算法实际复杂度一致。得2分。

题目总分:3+4+2=9分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发