• 二叉树性质推导


    假定root这一次对应高度为k=0  以下是以完全二叉树去构建的 第n层满了 才去铺第n+1层
    i=0
                           i                                      2^0
               2i+1                 2i+2                        2^1
        2i+3         2i+4     2i+5           2i+6                 2^2
    
    
        到第k-1层的总结点数为:
          2^0+2^1+2^2+2^3+...2^(k-1)= 2^k-1 
        所以第k层的第一个节点编号为2^k 因为我们这里的编号定义为从0开始
        所以第k层的第一个节点编号为2^k - 1 
        
        ================================================================================
        
        假设第k层的值为n
        令2^k-1=n
        则2^(k+1)-1=2^k*2-1=2n+2-1=2n+1 
        即第k+1层的第一个节点编号为2n+1 ####线索1
        
    
        
        
               n                    n+1
        n        n+1         n+2      n+3
    
      2n+1  2n+2  2n+3 2n+4     2n+5 2n+6 2n+7 2n+8
    
    k1代表k+1层的节点编号
    k0代表第k层的节点编号
    由####线索1得出
    k1-1 
    ---------------- =2
    k0  
    令
    k1-1             2m
    -------------- =------
    k0               m
    
    第k层每 右移1个元素 k+1层的子节点编号+2  假设右移m1个元素 则分子上编号增加2m1 分母增加m1
    2m +2m1               2(m+m1)
    ---------------   =  --------------=2
    m + m1                  m+m1
    
    即父节点如果编号为n 则 子节点编号只可能是 2n+1  或 2n+2
  • 相关阅读:
    Linux -- 查看是否安装了指定的包
    linux -- 部署java服务器(1) linux安装jdk
    spring boot -- 接收文件接口
    vue3 --相对于vue2的改变T1档次
    243交换输出
    24416进制的简单运算
    7街区最短路径问题
    206矩形的个数
    33蛇形填数
    273字母小游戏
  • 原文地址:https://www.cnblogs.com/kexb/p/12726903.html
Copyright © 2020-2023  润新知