二叉树性质推导

假定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

 

posted on 2020-04-18 17:17  听哥哥的话  阅读(437)  评论(0编辑  收藏  举报

导航