学习动机
Coddy 堆排序:数据结构与算法系列 课程的第 2 课,共 9 课。
堆排序使用二叉堆,反复在 O(log n) 时间内找到剩余元素中的最大值,从而实现稳定可靠的 O(n log n) 排序。
为什么要学习堆排序?
- 保证 O(n log n):与快速排序不同,它不会出现 O(n2) 的最坏情况。
- 原地排序:它在原数组中排序,只需要 O(1) 的额外内存,这与归并排序不同。
- 理解堆:它能帮助你加深理解堆如何存储在数组中,以及下沉操作如何保持堆的有效性。
如果你在本系列中学习过堆课程,那么堆排序就是将这种数据结构应用为排序算法。
亲手试试
这节课没有代码挑战。
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
堆排序:数据结构与算法系列中的所有课
自己练习: C 在线编译器