文章
225
粉丝
0
获赞
1
访问
11.1k

评分及理由
(1)得分及理由(满分4分)
得分:2分
理由:学生的基本设计思想是通过快速排序将整个数组排序,然后取前一半和后一半分别作为两个子集。这种方法确实能够满足题目要求(|n1-n2|最小且|S1-S2|最大),因为排序后最小的⌊n/2⌋个元素放在A2,最大的⌈n/2⌉个元素放在A1。但是,题目要求"尽可能高效的划分算法",而标准答案使用的是基于快速选择思想(类似快速排序的划分)的O(n)算法,学生的全排序方法时间复杂度为O(nlogn),效率不够高。因此扣2分。
(2)得分及理由(满分9分)
得分:6分
理由:学生的代码实现正确地完成了快速排序和子集划分,逻辑上是正确的,能够计算出正确的S1-S2值。但是存在以下问题:
(3)得分及理由(满分2分)
得分:2分
理由:学生正确分析了算法的时间复杂度为O(nlogn)和空间复杂度为O(n),分析准确完整,给满分。
题目总分:2+6+2=10分
登录后发布评论
暂无评论,来抢沙发