堆排序图文详解+复杂度分析

3.堆排序          Heap Sort

基本思想:利用大根堆的性质,每一趟把堆顶元素交换到堆尾,再采用“下坠”的方法恢复待排序元素的堆序性,得到递增的序列(小根堆得到递减的序列)

基础:[数据结构] 堆

时间复杂度:O(nlogn)

空间复杂度:O(1)

图解:

堆排序图文详解+复杂度分析_第1张图片

  • 将堆顶元素20与堆尾元素10交换,此时20已经排好序

堆排序图文详解+复杂度分析_第2张图片

  • 将剩余未排序元素转换为大根堆(20之前的所有元素)

堆排序图文详解+复杂度分析_第3张图片

  • 重复以上步骤

堆排序图文详解+复杂度分析_第4张图片

                                                         

你可能感兴趣的:(算法,算法,数据结构,排序算法)