文章

183

粉丝

0

获赞

1

访问

61.7k

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


评分及理由

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

得分:2分

理由:学生的基本设计思想是使用辅助数组B记录正整数出现次数,然后遍历B数组找到第一个未出现的正整数。这个思路是正确的,能够解决问题。但存在两个问题:① 对边界情况的描述不够完整(当数组包含1到n的所有正整数时应返回n+1);② 描述中"若找到则输出n+1"存在逻辑矛盾(应该是找不到时才返回n+1)。由于核心思路正确,扣1分。

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

得分:5分

理由:代码实现基本遵循了设计思想,但存在以下逻辑错误:
1. 数组声明错误:int *B[n+1]应该是int B[n+1](识别问题,可能是误写,不扣分)
2. 第三个循环的范围错误:for(int i=1; i<n; i++)应该是for(int i=1; i<=n; i++),否则会漏掉检查n这个位置(逻辑错误,扣2分)
3. 如果数组元素值大于n,会导致数组越界访问(逻辑错误,扣1分)
代码整体结构清晰,核心逻辑正确,但存在边界处理问题。

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

得分:2分

理由:时间复杂度和空间复杂度的分析完全正确。算法需要三次遍历,时间复杂度为O(n);需要额外n+1大小的数组,空间复杂度为O(n)。

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发