首先建立大顶堆,然后将堆顶的元素取出,作为最大值,与数组尾部的元素交换,并维持残余堆的性质(向下调整)
之后将堆顶的元素取出,作为次大值,与数组倒数第二位元素交换,并维持残余堆的性质;
以此类推,在第 次操作后,整个数组就完成了排序。
不稳定,最优时间复杂度、平均时间复杂度、最坏时间复杂度均为
1分钟阅读
首先建立大顶堆,然后将堆顶的元素取出,作为最大值,与数组尾部的元素交换,并维持残余堆的性质(向下调整)
之后将堆顶的元素取出,作为次大值,与数组倒数第二位元素交换,并维持残余堆的性质;
以此类推,在第 n−1 次操作后,整个数组就完成了排序。
不稳定,最优时间复杂度、平均时间复杂度、最坏时间复杂度均为 O(nlogn)