文章

190

粉丝

0

获赞

0

访问

27.9k

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


评分及理由

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

学生给出的基本设计思想描述较为模糊,但大致方向正确:对于每个元素 A[i],根据其正负性,在后续元素(j≥i)中寻找最大值或最小值进行乘积计算。然而,表述不够清晰严谨,例如“设计两个指针,带头指针指向数组第一个元素,然后另一个指针遍历出数组中最大的数”未能准确说明如何高效地维护最大值和最小值。标准答案明确要求从右向左遍历并动态维护极值,而学生描述为从左向右且每次重新遍历,这会导致 O(n²) 的时间复杂度,但学生未意识到这一点。考虑到思路核心正确但不够完整和准确,扣1分。

得分:3分

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

学生提供的代码片段存在严重问题:

  • 语法错误:Void 应为 voidint B[i,j]=A[i,j] 不是合法的C/C++语法;hA→B[i](i++)p->B[i] 等指针操作无定义且逻辑混乱。
  • 逻辑缺失:没有实现从右向左遍历,也没有正确维护最大值和最小值;未根据 A[i] 的正负选择乘数;未将结果存入 res 数组。
  • 代码无法编译,更无法实现题目要求的功能。

尽管可能存在部分识别错误(如符号误写),但整体代码结构完全偏离正确算法,无法给予分数。

得分:0分

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

学生给出的时间复杂度 O(n) 和空间复杂度 O(1) 与标准答案一致,但这是基于其描述的思路(每次遍历后续元素找极值)的错误评估,实际其描述的方法时间复杂度应为 O(n²)。然而,在复杂度陈述部分,学生直接写出了正确结果,可能是在没有正确实现的情况下照搬了结论。由于复杂度结论本身正确,且题目只要求说明复杂度,不深究推导过程,因此给予满分。

得分:2分

题目总分:3+0+2=5分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发