zoukankan      html  css  js  c++  java
  • 二叉树的计算

    1.先复习一下等差数列和等比数列求和公式

     

    2.满二叉树与完全二叉树

    满二叉树(Full Binary Tree):

      

     

     

      除最后一层无任何子节点外,每一层上的所有结点都有两个子结点(最后一层上的无子结点的结点为叶子结点)。也可以这样理解,除叶子结点外的所有结点均有两个子结点。节点数达到最大值。所有叶子结点必须在同一层上.

    一颗树深度为h,最大层数为k,深度与最大层数相同,k=h;

     

      它的叶子数是: 2^h (注意区分叶子节点和节点的区别,没有左右孩子的才是叶子节点)

     

      第k层的结点数是: 2^(k-1)

     

      总结点数是: 2^k-1 (2的k次方减一)

     

      总节点数一定是奇数。

    完全二叉树(Complete Binary Tree)

     

      若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。

     

      完全二叉树是由满二叉树而引出来的。对于深度为K的,有N个结点的二叉树,当且仅当其每一个结点都与深度为K的满二叉树中编号从1至n的结点一一对应时称之为完全二叉树。

     

      若一棵二叉树至多只有最下面的两层上的结点的度数可以小于2,并且最下层上的结点都集中在该层最左边的若干位置上,则此二叉树成为完全二叉树。

           深度为h的完全二叉树至少有2^(h-1)个结点,最多有(2^h)-1个结点。

  • 相关阅读:
    初见QT---信号和槽(二)
    初见QT---信号和槽
    Python的那些事---数据分析(一)---NumPy基础
    初见QT---创建QPushButton按钮
    初见QT---QT creator常见快捷键使用
    PHP 反射 Reflection
    python 代码求阶乘
    Python中的计时器对象
    python websocket 再线聊天室的 Demo
    Tornado创建一个web服务
  • 原文地址:https://www.cnblogs.com/blythe/p/7426458.html
Copyright © 2011-2022 走看看