文章
290
粉丝
0
获赞
0
访问
56.0k

评分及理由
(1)得分及理由(满分5分)
学生答案描述的是“利用选择排序遍历十次数组,每次选出最小的数”,这本质上是部分选择排序(partial selection sort)的思想。具体来说,每次遍历未排序部分找出最小元素,进行10次后即可得到最小的10个数。该方法思路正确,且满足题目要求“平均情况下比较次数尽可能少”吗?实际上,部分选择排序的比较次数固定为约10n次(每次遍历未排序部分),时间复杂度为O(n),与标准答案中方法一(插入维护)和方法二(大根堆)的时间复杂度相同,但实际比较次数可能略多于堆方法,但题目并未要求必须最优,只要求“尽可能少”且算法正确即可。因此思路正确,不扣分。但学生未说明是否原地操作、是否排序等细节,但题目只要求“简单描述算法思想”,所以描述基本清晰。得5分。
(2)得分及理由(满分5分)
学生给出的时间复杂度为O(n),空间复杂度为O(1),这与部分选择排序的实际复杂度一致(因为只进行10次遍历,每次O(n),常数10忽略,所以是O(n);只用了常数个临时变量,空间O(1))。因此复杂度分析正确。得5分。
题目总分:5+5=10分
登录后发布评论
暂无评论,来抢沙发