美文网首页
算法015_堆排序的过程演示

算法015_堆排序的过程演示

作者: 为宇绸缪 | 来源:发表于2024-02-01 23:43 被阅读0次

堆排序过程

  • 建立堆
  • 得到堆顶元素,为最大元素
  • 去掉堆顶,将堆最后一个元素放到堆顶,此时可通过一次调整重新使堆有序
  • 堆顶元素为第二大元素
  • 重复步骤 3,直到堆变空

原始的堆


把最大的数给移开


为了防止把数移上去出现空位,所以把堆最后一个位置的元素给移动上去。这样可以继续利用堆的向下调整性,也可以保证不出现空位

然后利用向下调整性,把剩下的最大的数给移动上去


然后再把此时最大的数 8 给移出去


接下来依然是把最后一位移上去,满足了向下调整的条件


继续调整堆


然后把最大的 7 给移动上去,在把 7 拿出去,2 移到最上面

然后调整


拿掉最大的


最后面的 1 移动上去


把 5 拿出去,然后把最后面的 0 给移动上去


调整堆


把 4 移动出去,再把最后一个数给移动上去



调整堆


把 3 移出去,然后把最后一位 1 给移上去


然后调整


把 2 移动出去,把最右侧的 0 给移动上去


接着调整


然后把 1 给 移动出去,就剩个 0 ,然后就把 0 也移动出去,就完成排序了

相关文章

  • 算法不想学(二): 堆排序和top k

    算法不想学(一): 随缘匹配 目录 前言 堆排序 一次排序构建堆排序输出演示插入 top k 最后 前言 最近面试...

  • iOS算法总结-堆排序

    iOS算法总结-堆排序 iOS算法总结-堆排序

  • 堆排序算法思想

    前两天看了看堆排序算法,啃了半天的书,最后搞明白了堆排序算法,今天有时间给大家说说这个堆排序算法。首先讲一下算法的...

  • 数据结构与算法

    常见排序算法 堆排序 算法大全 算法大汇总

  • 堆排序

    转载:图解排序算法(三)之堆排序 预备知识 堆排序 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选...

  • 排序算法-堆排序

    参考: Java排序算法(五):堆排序 【算法与数据结构】图说堆排序 【数据结构】排序算法:希尔、归并、快速、堆排...

  • 常用排序算法之堆排序

    堆排序算法 运行 输出

  • 算法与数据结构(六):堆排序

    title: 算法与数据结构(六):堆排序tags: [算法与数据结构, C语言, 堆排序]date: 2019-...

  • 数据结构

    Q:堆排序 A:1 堆排序算法(图解详细流程)2 堆排序 Q:排序算法时间复杂度与稳定性 选择排序为什么不稳定:举...

  • web开发需要知道的几个算法

    算法分类 快速排序算法 深度优先算法 广度优先算法 堆排序算法 归并排序算法

网友评论

      本文标题:算法015_堆排序的过程演示

      本文链接:https://www.haomeiwen.com/subject/fbgzodtx.html