经典排序之堆排序及其优化
堆排序(Heap Sort):建堆,将最大值/最小值放到对应的位置上我们看堆排序以前,先回忆一下完全二叉树有一条性质,如果将一颗完全二叉树从0开始编号(从上到下,从左到右),结点编号i为0到n-1,如果满足2i+1<=n-1,则证明有左,满足2i+2<=n-1,则证明有右,父亲结点的范围为0到n/2-1。那这与堆排序又有什么关系呢?堆的内部就是遵循以上逻辑关系的。注意:堆内部只是遵循完全二叉树所有的这条性质的逻辑关系,并非是一棵树,它的本质仍是数组。待排数据为:8、1