文章

189

粉丝

0

获赞

1

访问

34.2k

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


评分及理由

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

得分:0分

理由:学生的基本设计思想存在严重逻辑错误。题目要求对于每个A[i],需要计算A[i]与A[j](i ≤ j ≤ n-1)乘积的最大值,即必须在原数组顺序的子数组A[i:n-1]中寻找合适的A[j]。学生的方法是对整个数组A进行排序,这完全改变了元素的原始顺序和位置关系,排序后得到的“最前面元素”和“最后面元素”与题目要求的子数组范围无关,因此思路错误。不能得分。

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

得分:0分

理由:基于第(1)问的错误思路,代码实现也是错误的。算法没有正确维护从i到n-1子数组的最大值和最小值,而是错误地使用了排序后的固定位置(A[0]或A[n-1])进行计算。例如,对于示例A[]={1,4,-9,6},该算法无法得到正确结果res[]={6,24,81,36}。此外,代码中存在多处逻辑错误,如第2次识别结果中`res[0]=A[0]*A[0]`(自己乘自己)不符合题意(要求i≤j,但i=0, j=0是允许的,然而这里计算依据是排序后的数组,已无意义);循环边界`i < n - 1`可能导致漏掉一些计算;最后`res[n-1]=A[n-1]*A[n-2]`的取值依据不明。由于核心逻辑错误,不能得分。

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

得分:0分

理由:学生给出的时间复杂度分析(O(nlog₂n))是基于其排序操作的分析,虽然排序复杂度分析本身正确,但由于整个算法思路错误,导致复杂度分析对于解决本题没有意义。空间复杂度分析(O(1))忽略了排序可能需要的额外空间(通常排序需要O(log n)或O(n)的栈空间或额外数组)。更重要的是,算法本身是错误的,因此复杂度分析不能得分。

题目总分:0+0+0=0分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发