欢迎转载,转载时请注明出处和作者联系方式
文章出处: http://blog.csdn.net/shaojieli
文章出处: http://blog.csdn.net/shaojieli
作者联系方式:李少杰 <lishaojie@126.com>
一、排序原理
1.)将堆调整为最大堆。
2.)将堆顶元素与未排序子堆的最后一个元素交换。
3.)重复第一步和第二步操作,直至排序完毕。
二、调整最大堆
其实数组在不变的情况下,只是换成一种树的表示方法,就变成了堆。具体元素的对应关系如下图所示,关联关系为下标号。
调整最大堆的过程就是,如果当前结点比左结点或右结点小,则将当前结点和左右结点中的大值交换。整个过程如下所示。
三、堆排序过程