zoukankan      html  css  js  c++  java
  • Algs4-2.4.20证明:基于下沉的堆构造方法的比较次数、交换次数

     2.4.20证明:基于下沉的堆构造方法使用的比较次数小于2N,交换次数小于N

     证:

    使用sink方法构造一个N个元素的堆,最坏情况下需要处理

    N/2/2个大小为3=2^2-1堆,

    N/2/2/2个大小为7=2^3-1的堆,

    N/2/2/2/2个大小为15=2^4-1的堆,

    ...

    N/2^i个大小为2^i-1的堆。

    对于一个大小为2^i-1的堆,最坏情况下需要将堆顶点交换到叶结点位置,交换次数为堆的高度h=i-1

    那么将上述每个堆的堆高相加就得到最多的交换次数C(N),

     图片又因在堆中最坏情况比较次数D(N)为两个子结点的一次比较,和堆顶点与两个子结点中大者进行比较,所以最坏情况下比较次数为2倍交换次数,D(N)=2C(N)<2N。

  • 相关阅读:
    Elasticsearch
    Docker
    Python 目录
    淘宝
    MyBatis
    Docker 安装ubuntu服务器
    goodrain云平台 mysql主从同步应用创建
    flask入门
    virtualenv
    进程 线程(二)
  • 原文地址:https://www.cnblogs.com/longjin2018/p/9868644.html
Copyright © 2011-2022 走看看