堆排序:
- 整理从上到下从大到小的二叉树
- 堆顶最大值和堆尾进行交换,除已排序(最大值)外其他节点进行调整。并且不断递归。
一般都用数组来表示堆,i结点的父结点下标就为(i – 1) / 2。它的左右子结点下标分别为2 * i + 1和2 * i + 2。如下图所示:
堆顶元素(array[0])为最大值,将最大值与堆尾部元素交换
20 是已排序节点,除去已排序节点外,其他的节点重新调整
递归上述过程
堆排序:
一般都用数组来表示堆,i结点的父结点下标就为(i – 1) / 2。它的左右子结点下标分别为2 * i + 1和2 * i + 2。如下图所示:
堆顶元素(array[0])为最大值,将最大值与堆尾部元素交换
20 是已排序节点,除去已排序节点外,其他的节点重新调整
递归上述过程
转载于:https://my.oschina.net/u/1992157/blog/3008653