文章

389

粉丝

5

获赞

19

访问

27.3k

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


评分及理由

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

学生答案的基本设计思想是:使用一个标记数组B来记录原数组A中是否出现了1到n的正整数。思路清晰且正确,与标准答案的哈希标记思想本质相同(只是标准答案使用了原数组进行标记,而学生答案使用了额外数组)。根据评分规则,思路正确不扣分。得3分。

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

学生给出的C语言代码实现了其设计思想:分配标记数组B并初始化为0,遍历A数组,将值在1到n范围内的正整数在B中对应位置标记为1,最后遍历B数组找到第一个未被标记的位置。代码逻辑正确,能够解决问题。但存在以下小问题: - 代码中`memset(B,0,sizeof(int)*n);`是正确的,但更规范的写法是`memset(B, 0, sizeof(int) * n);`(空格问题,属于格式细节,不扣分)。 - 未释放动态分配的数组B,存在内存泄漏。这是一个逻辑错误,扣1分。 因此,扣1分后,得7分。

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

学生正确分析了时间复杂度O(n)和空间复杂度O(n)。分析正确,得2分。

题目总分:3+7+2=12分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发