堆排序
--------------------------------------------------
在介绍堆排序之前先介绍一下什么是完全二叉树,完全二叉树就是在第n层被填满之前,不会开始填第n+1层深度,并且是从左向右填满
----------------------------------------------------------------------------
(一)什么是堆排序?堆排序就是利用完全完全二叉树()的性质进行排序。又分为最大堆和最小堆
最大堆:父节点的键值总是大于或者等于任何一个子节点的键值
最小堆:父节点的键值总是小于或者等于任何一个子节点的键值
(二)堆排序的过程
比如我们现在要排序 int [] a={17,8,45,84,2,94};

堆排序是一种基于完全二叉树的排序算法,分为最大堆和最小堆。最大堆中父节点键值大于或等于子节点,最小堆反之。在最小堆排序的例子中,不断将最小元素移至末尾,直到所有元素排序完成。代码实现和时间复杂度分析显示,堆排序的平均和最好情况时间复杂度均为O(nlogn)。
最低0.47元/天 解锁文章
4062





