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个结点。

  • 相关阅读:
    Android 源码阅读之MMS细读TransactionService.java
    [Java2 入门经典]第16章 线程
    Android 源码阅读之建立3G网络流程
    从架构上看Android多媒体播放器
    Android 开发日志之仿三星Launcher
    非常适合OA系统的菜单
    模拟动网当前位置下拉菜单
    模拟windows菜单选项卡效果
    TreeView的各种操作
    ASCII表
  • 原文地址:https://www.cnblogs.com/blythe/p/7426458.html
Copyright © 2011-2022 走看看