文章

297

粉丝

0

获赞

1

访问

182.4k

头像
2016年计算机学科专业基础综合试题 - 第43题回答
数据结构
发布于2025年9月26日 15:35
阅读数 597


评分及理由

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

得分:0分

理由:学生的基本设计思想存在严重错误。题目要求满足 |n1−n2| 最小且 |S1−S2| 最大,正确的思路应该是将最小的 ⌊n/2⌋ 个元素放在 A1,其余放在 A2。但学生提出根据n的奇偶性固定划分位置(偶数时n/2,奇数时(n+1)/2),这只能保证|n1−n2|最小,但完全忽略了如何通过元素值的选择来使|S1−S2|最大。实际上,要使|S1−S2|最大,应该让A1包含最小的⌊n/2⌋个元素,A2包含最大的⌈n/2⌉个元素。学生的思路没有体现这一关键点,与题目要求不符。

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

得分:2分

理由:

  • 代码中的huafen函数试图实现快速排序的划分操作,基本框架正确(选择枢轴、左右指针移动),可得2分
  • 但存在多处严重逻辑错误:
    • huafen函数中,内层while循环的指针移动和元素交换逻辑混乱(如R--后立即执行p[L]=p[R]),不符合快速排序划分的标准流程
    • New函数中的双重循环完全错误,试图用嵌套循环给A1和A2赋值,但逻辑混乱且M是划分位置下标,不能作为数组使用
    • 返回语句return A₁; return A₂; 逻辑错误,且函数声明为void却有返回值
    • 未计算S1和S2,与题目要求不符
  • 由于核心算法逻辑错误严重,只能给予基本框架分

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

得分:0分

理由:学生给出的时间复杂度O(n)和空间复杂度O(log₂n)分析基于错误的算法实现,与标准答案的正确算法复杂度分析不符。正确的基于快速选择思想的算法平均时间复杂度为O(n),空间复杂度为O(1)。

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发