排序-堆排序 堆排序

基本知识

稳定性:不稳定
存储方式:内排序
空间复杂度:O(1)
最坏时间复杂度:O(n logn)
最好时间复杂度:O(n logn)
平均时间复杂度:O(n logn)

基本思想

堆排序是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。堆排序可以说是一种利用堆的概念来排序的选择排序。分为两种方法:

  • 大顶堆:每个节点的值都大于或等于其子节点的值,在堆排序算法中用于升序排列;
  • 小顶堆:每个节点的值都小于或等于其子节点的值,在堆排序算法中用于降序排列;

排序步骤