文章

13

粉丝

0

获赞

0

访问

358

头像
2010年计算机学科专业基础综合试题 - 第42题回答
数据结构
发布于2025年11月3日 19:39
阅读数 14


评分及理由

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

得分:2分

理由:学生的基本设计思想是使用辅助数组来实现循环左移,这与标准答案中提到的"另解"思路一致,是正确的。但是学生的描述不够清晰准确,没有明确说明辅助数组的大小应该是p,也没有完整描述整个操作流程(将前p个元素暂存,后n-p个元素左移,最后将暂存元素放回)。因此扣2分。

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

得分:3分

理由:学生的代码实现存在多处逻辑错误:

  1. 在zuoYi函数中,R[i - P] = R[P] 应该是 R[i - P] = R[i],否则所有左移后的元素都等于R[P]
  2. 在return_R函数中,赋值应该是 R[n-p+i] = A[i],而不是 R[P + i + 1] = A[i]
  3. 代码没有考虑数组长度的获取方式(R.length在C语言中不存在)
  4. 辅助数组A的大小没有明确指定
  5. 代码结构不完整,没有整合成一个完整的函数

虽然思路正确,但由于存在严重的逻辑错误,扣4分。

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

得分:2分

理由:学生正确分析了时间复杂度和空间复杂度。时间复杂度O(n)和空间复杂度O(p)(学生写为O(n),但根据上下文理解应该是O(p))都是正确的。考虑到这是识别结果,可能存在误写,不扣分。

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发