堆排序及其优化过程总结1.基础堆排序2.Heapify3.原地堆排序
引言:众所周知,堆排序算法是高级排序算法中的一种,平均时间复杂度为O(nlogn),算法思想是:先把带排序的记录构造成堆,然后通过从堆中不断选取最小/大元素,从而达到排序的目的。本文将以最大堆为例从三个点依次讨论堆排序的优化,即从基础堆排序到heapify、再到原地堆排序讨论。以下共有三个堆排序算法(heapSort1、heapSort2、heapSort3)依次由浅入深讨论。(动图源于网络)