排序

堆排序

 

  1. 整理从上到下从大到小的二叉树
  2. 堆顶最大值和堆尾进行交换,除已排序(最大值)外其他节点进行调整。并且不断递归。

 

 

c256cc11fb906741569d6b3e93e204a9d6d.jpg

                  一般都用数组来表示堆,i结点的父结点下标就为(i – 1) / 2。它的左右子结点下标分别为2 * i + 1和2 * i + 2。如下图所示: 

87ccdff68d0e966c43493b0b86518bce943.jpg

 

堆顶元素(array[0])为最大值,将最大值与堆尾部元素交换

 

80ba20aa456c4671bea36f1ab7ccdba877b.jpg

 

20 是已排序节点,除去已排序节点外,其他的节点重新调整

0f9e2bcdd964d36bd463b6f6655dd5a3b5d.jpg

 

 

递归上述过程

0445018df302b0be3dacc41b1004aef242a.jpg

 

 

 

转载于:https://my.oschina.net/u/1992157/blog/3008653

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值