文章

281

粉丝

0

获赞

0

访问

47.0k

头像
2016年计算机学科专业基础综合试题 - 第43题回答
数据结构
发布于2025年10月21日 11:23
阅读数 151


评分及理由

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

得分:2分

理由:学生提出了使用快速排序对数组进行排序,然后使用双指针法进行划分。这个思路能够满足题目要求(|n1-n2|最小且|S1-S2|最大),因为排序后最小的⌊n/2⌋个元素放在A1,最大的⌊n/2⌋个元素放在A2即可。但是学生的设计思想没有明确指出只需要找到第⌊n/2⌋小的元素即可,而不需要对整个数组完全排序,因此没有达到"尽可能高效"的要求。标准答案使用的是基于快速选择的部分划分,时间复杂度更低。

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

得分:4分

理由:

  • 学生实现了快速排序算法,代码基本正确(2分)
  • 实现了双指针划分方法,思路正确(2分)
  • 但存在以下问题:
    • 没有计算和返回S2-S1的值(-2分)
    • 划分逻辑不够完善,当n为奇数时处理可能有问题(-1分)
    • 使用了变长数组int S1[n]、int S2[n],在某些编译环境下可能不支持(不扣分,属于实现细节)

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

得分:1分

理由:学生正确分析了算法的时间复杂度O(n log₂n)和空间复杂度O(n),但这不是最优解。标准答案的时间复杂度是O(n),空间复杂度是O(1)。学生的分析虽然正确,但没有达到题目要求的"尽可能高效"。

题目总分:2+4+1=7分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发