文章

179

粉丝

0

获赞

0

访问

7.9k

头像
2010年计算机学科专业基础综合试题 - 第42题回答
数据结构
发布于2025年9月24日 20:55
阅读数 58


评分及理由

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

得分:4分

理由:学生的基本设计思想与标准答案中的"另解"(借助辅助数组)完全一致,思路正确清晰,符合题目要求的时间和空间高效性目标。因此给予满分。

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

得分:4分

理由:学生的代码实现了辅助数组的思路,但存在逻辑错误。具体错误如下:

  • 在第三个循环中(移动剩余元素),代码为 R[i] = R[n - P + i],这会导致数组元素的错误覆盖。正确的逻辑应该是将R中从索引P到n-1的元素(共n-P个)整体左移到数组头部,即 R[i] = R[P + i](i从0到n-P-1)。学生的代码错误地使用了 n - P + i,这会访问数组越界(当i≥P时)并导致数据错误。
  • 在第四个循环中(写回辅助数组元素),代码为 R[n - P + i] = B[i],这会导致元素被错误地放置在数组末尾。正确的逻辑应该是将B中的元素依次放回R中从索引n-P开始的位置,即 R[n - P + i] = B[i](i从0到P-1)。但这一步的正确性依赖于上一步的正确执行,由于上一步错误,这一步也无法正确完成。

代码整体结构正确,但核心逻辑存在严重错误,因此扣除3分。

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

得分:1分

理由:学生正确给出了时间复杂度O(n),但空间复杂度错误地写为O(n)。根据辅助数组方案,空间复杂度应为O(P),因为辅助数组大小与P相关。因此扣除1分。

题目总分:4+4+1=9分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发