数据结构第十章排序.ppt

10.4 选择排序 堆排序 初始大顶堆的建立过程 3 21 25 25* 49 16 08 0 1 2 4 5 i 21 25 25* 16 49 08 0 2 5 4 3 1 i 初始排序码集合 i = 2 时的局部调整 21 25 25* 49 16 08 0 1 2 3 4 5 i 49 25 25* 16 21 08 0 2 5 4 3 1 i = 0 时的局部调整 形成最大堆 i = 1 时的局部调整 10.4 选择排序 堆排序 10.4 选择排序 堆排序 基于初始堆(大顶堆)进行堆排序 最大堆堆顶V[0]具有最大的排序码, 将V[0]与 V[n-1]对调, 把具有最大排序码的对象交换到最后, 再对前面的n-1个对象, 使用堆的调整算法, 重新建立最大堆, 具有次最大排序码的对象又上浮到V[0]位置。 再对调V[0]和V[n-2],调用堆的调整算法,对前n-2个对象重新调整,…。 如此反复执行,最后得到全部排序好的对象序列。这个算法即堆排序算法, 10.4 选择排序 堆排序 49 25 21 25* 16 08 08 25 21 25* 16 49 交换 0 号与 5 号对象, 5 号对象就位 初始最大堆 49 25 25* 21 16 08 0 1 2 3 4 5 08 25 25* 16 21 49 0 2 5 4 3 1 基于初始堆进

文档评论(0)

1亿VIP精品文档

相关文档