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

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

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

    堆排序过程

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

    原始的堆


    把最大的数给移开


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

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


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


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


    继续调整堆


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

    然后调整


    拿掉最大的


    最后面的 1 移动上去


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


    调整堆


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



    调整堆


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


    然后调整


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


    接着调整


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

    相关文章

      网友评论

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

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