文章

74

粉丝

0

获赞

0

访问

8.6k

头像
2022年计算机学科专业基础综合试题 - 第42题回答
数据结构
发布于2025年10月16日 16:18
阅读数 68

(1)算法思想:利用堆排序的思想,建立一个总节点数量为11的大根堆,每次将根节点排除,然后插入新的值,最后得到一个11个节点的堆,将最大值排除后就得到了最小的10个数。

(2)时间复杂度:O(n),空间复杂度为O(1)


评分及理由

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

得分:3分

理由:学生使用了堆排序的思想,这是正确的方向。但是算法描述存在逻辑错误:

  • 题目要求找最小的10个数,应该维护一个大小为10的大根堆,而不是11个节点
  • 描述中说"将根节点排除,然后插入新的值"逻辑不清晰,正确的做法应该是:当新元素小于堆顶时,替换堆顶并调整堆
  • 最后说"将最大值排除"也不准确,实际上最终堆中的10个元素就是最小的10个数

虽然思路基本正确,但具体实现细节存在多处逻辑错误。

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

得分:3分

理由:时间复杂度O(n)的结论基本正确(实际应为O(nlogk),其中k=10,但k是常数所以简化为O(n)),空间复杂度O(1)也正确。但由于算法描述存在逻辑错误,不能给满分。

题目总分:3+3=6分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发