Menu
CoddyTech

时间和空间复杂度

Coddy 堆排序:数据结构与算法系列 课程的第 7 课,共 9 课。

时间复杂度:

  • 最好、平均和最坏情况: O(n log n)
    • 构建堆的时间复杂度为 O(n),n 次提取操作中,每次筛选向下的时间复杂度为 O(log n)。不存在会导致性能下降的坏输入情况。

空间复杂度:

  • O(1)
    • 堆排序会在原数组中重新排列元素,只需要常量级的额外内存。

总结:

  • 堆排序兼具有保证的 O(n log n) 运行时间和 O(1) 额外空间,而归并排序和快速排序都无法同时做到这一点。
  • 它不是稳定的(相等元素的相对顺序可能改变),这是它的主要取舍。

亲手试试

这节课没有代码挑战。

quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

堆排序:数据结构与算法系列中的所有课

自己练习: C 在线编译器