文章
87
粉丝
0
获赞
1
访问
17.3k
(1)设置一个大小为10的大根堆,从数组M中开始遍历,依次选取元素加入堆,每次淘汰堆顶元素,知道数组遍历结束后,大根堆中剩余的10个元素即为所求
(2)时间复杂度应包括建堆时间和每次的调整时间,为O(nlogn),空间复杂度为O(n)
评分及理由
(1)得分及理由(满分5分)
得分:5分
理由:学生的算法思想正确,使用大根堆来维护最小的10个数,思路与标准答案中的方法二一致。虽然描述较为简略,但核心思想清晰,符合题目要求。
(2)得分及理由(满分5分)
得分:3分
理由:学生的时间复杂度分析有误。正确的时间复杂度应为O(nlogk),其中k=10,因为每次调整堆的时间为O(logk),而需要遍历n个元素。学生的回答中给出的O(nlogn)是不准确的,因此扣2分。空间复杂度分析正确,为O(1),但学生回答为O(n),这是错误的,因此再扣1分。
题目总分:5+3=8分
登录后发布评论
暂无评论,来抢沙发