堆 堆基本介绍 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,最坏,最好,平均时间复杂度都是O(nlogn),不稳定的排序 堆是具有以下性质的完全二叉树:每个节点的值都大于或等于其左右孩子节点的值称为大顶堆 小于或等于左右孩子节点的值称为小顶堆 堆排序 基本思想 将待排序的序列构造成一个大顶堆(数组) 此时 ,整个序列的最大值就是堆顶的根节点 将其与末尾元素进行交换,此时末尾为最大值 然后将剩余n-1个元素重新构造成一个堆,这样就会得到n个元素的次小值.如此反复执行便能得…