2016年(408)计算机学科专业基础综合试题 - 第43题回答
数据结构
发布于2025年11月6日 16:51
阅读数 21

评分及理由
(1)得分及理由(满分4分)
得分:4分
理由:学生的基本设计思想正确。学生提出使用快速排序的思想,通过partition操作找到第k小的元素(k=n/2),将最小的⌊n/2⌋个元素放在A1,其余放在A2,这与标准答案的思路完全一致。虽然学生提到了"快速排序算法",但从后续描述看实际使用的是快速选择的思想,没有进行全排序,因此不扣分。
(2)得分及理由(满分9分)
得分:7分
理由:
- 优点:partition函数实现正确,快速选择的核心逻辑完整,能够正确找到第k小的元素位置
- 扣分点:
- (-1分)func函数只返回了A[k-1]的值,没有计算两个子集的和S1、S2,也没有返回题目要求的|S1-S2|
- (-1分)缺少对划分后两个子集元素求和的代码实现
- 代码整体结构清晰,partition操作正确,但功能不完整
(3)得分及理由(满分2分)
得分:1分
理由:
- (-1分)时间复杂度分析错误。学生给出的O(nlogn)是基于快速排序的时间复杂度,但实际使用的是快速选择算法,平均时间复杂度应为O(n)
- 空间复杂度O(logn)分析正确,这是递归栈空间的消耗
题目总分:4+7+1=12分
登录后发布评论
暂无评论,来抢沙发