100种算法【Python版】第47篇——堆排序
本文目录
- 1 算法步骤
- 2 算法示例
- 3 python代码
-
- 3.1 代码说明
- 3.2 复杂度分析
堆排序(Heap Sort)是一种基于堆数据结构的排序算法。堆是一棵完全二叉树,并且有两种类型:
- 最大堆(Max Heap):每个节点的值都大于或等于其子节点的值。
- 最小堆(Min Heap):每个节点的值都小于或等于其子节点的值。
堆排序的核心思想是使用最大堆来实现升序排序,或使用最小堆来实现降序排序。堆排序的时间复杂度为 O ( n l o g n ) O(nlogn)