“北上广不相信眼泪”
堆排序(Heapsort)是指利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种。可以利用数组的特点快速定位指定索引的元素。堆分为大根堆和小根堆,是完全二叉树。
堆排序是一种不稳定的排序算法
(排序的稳定性是指如果在排序的序列中,存在前后相同的两个元素的话,排序前 和排序后他们的相对位置不发生变化)。
堆排序的时间,主要由建立初始堆和反复重建堆这两部分的时间开销构成,它们均是通过调用下滤算法实现的。
辅助空间为O(1),在最好或者最坏情况下时间复杂度都为O(nlog(n))。
1、建堆(通过下滤算法实现)
2、排序 (也通过下滤算法实现)
java实现