跳到正文

8.4 堆排序、堆的插入删除·综合题讲评

40 分钟

8.4 堆排序、堆的插入删除·综合题讲评

求前k大可维护容量k的小根堆:新元素大于堆顶才替换,扫描后堆中是前k大。

手工推演与代码

数据5,1,9,3,8,k=2:最终堆含8,9。

代码实现必须保持当前有序区、堆区或归并段的不变量,并对空数组、单元素、重复键和逆序输入测试。

正确性与错解反馈

正确性来自每一趟扩大已确定区域且不破坏未处理数据。用大根堆保留前k大却每次淘汰最大;未处理k>n。

迁移训练

海量数据求前100大,时间O(nlog100)、空间O(100)。

小纸条

海量数据求前100大,时间O(nlog100)、空间O(100)。

登录 后可看答案

Practice

本课练习

0

先独立作答再提交;编程题会在隔离沙箱中真实编译、运行并对拍。

本课练习正在补齐,暂不应标记为完成。