文章

302

粉丝

0

获赞

15

访问

51.4k

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


评分及理由

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

得分:3分

理由:学生的基本设计思想与标准答案基本一致,都是基于快速排序的划分思想来寻找中位数位置,满足 |n1-n2| 最小的要求。但是学生描述中"将基准元素最终落在的位置i与数组中间位置n比较"存在表述不准确的问题,应该是与 ⌊n/2⌋ 比较,而不是与n比较。此外,学生没有明确说明这种划分方式能够同时满足 |S1-S2| 最大的要求,这是设计思想中的一个重要点。

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

得分:6分

理由:

  • Sort函数中存在逻辑错误:在第二个内层循环中,应该是"i++"而不是"j--",这是一个明显的逻辑错误。
  • Divid函数中,当target不等于目标位置时,递归调用Sort函数,但没有更新target的值,这会导致无限循环。
  • 算法没有计算和返回S2-S1的值,不符合题目要求。
  • 目标位置的计算使用(n-1)/2,对于偶数n的情况不够准确,应该使用n/2。
  • 代码结构基本正确,体现了快速选择的思想。

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

得分:1分

理由:学生正确给出了时间复杂度O(n)和空间复杂度O(1),但考虑到算法实现中存在逻辑错误,不能完全达到这个复杂度,因此扣1分。

题目总分:3+6+1=10分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发