• 树的性质及其证明


    目录

    性质  1

    ● 性质

    ●证明  

    例子:

    性质2

    性质3

    性质4

    例子


    性质  1

    ● 性质

            • 树中的节点数等于所有节点的度数加 1

    ●证明  

     


    ● (树的定义)在一棵树中, 除数根节点外,每个节点有且仅有一个前驱节点.
    ● (理解)每个节点与指向它的一个分支一一对应
    ● (推导)除树根之外的节点数等于所有节点的分支数
    ● (节点度的定义)节点的子树的个数称为该节点的度
    ● (结论) 树中的节点数等于所有节点的度数加一

    例子:

    ● 一棵度为4的树T中 ,若有20个度为4的节点,10个度为3的节点,1个度为2的节点,10个度为1的节点 ,则树T的叶子节点
    个数是_____.
    A,41 B,82 C,123 D,122

    ● 解:
        • 树T中的节点数 : 20*4+10*3+1*2+10*1+1 = 123
        • 除叶节点(度为0的节点)外的节点数 : 20+10+1+10 = 41
        • 剩余的叶节点个数: 123-41 = 82, 选B

    性质2

    ● 性质
        • 度为m的树中第 i 层(i>=1)上至多有m^i-1个节点

    ● 证明(采用数学归纳法)
        • 由题意得
            树的度为 m ,说明此数的一个节点上,最多有 m 个节点 
       • 对于第一层,因为树中的第一层上只有一个节点,即整个树的根节点,而由 i = 1 代入

            m^(i-1), 得m^(1-1) = m^0 =1,有一个节点,显然结论成立
        • 假设对于第(i-1)层(i>1)命题成立 , 即度为m的树中第(i-1)层上至多有m^(i-2)个节点
        • 根据树的度的定义 , 度为m的树中每个节点至多有m个孩子节点,

            所以第 i 层至多为m^(i-2) * m = m^(i-1)个节点,
          这与命题相同,故命题成立

    性质3

    ● 性质
        • 高度为 h 的m次树至多 有 (m^h -1)/(m-1)个节点


    ● 证明
        • 由题意可知, m次树,每个节点最多有m个后继节点,
        • 由性质2可知 ,第i层上最多节点数为m^(i-1) ,(i=1,2,...,h)
        • 当高度为 h 的m次树(即度为m的树)上每一层都达到最多节点数时,整个m次树具有最多节点数
        • 所以整个树的最多节点数
            = 每一层的最多节点数之和
            = m^0 + m^1 + m^2+...+m^(h-1)
            = ( m^h -1)/( m - 1 )
    以上是等比数列 ,我们利用公式求和即可
        ①Sn = m^0 + m^1 + m^2+...+m^(h-1)
        ②m*Sn =  m^1 + m^2+...+m^(h-1)+m^h
        ①-② ,得 (1-m)Sn = m^0 - m^h 
        化简得, Sn = (m^h -1)/( m - 1 ) 

    性质4

    ● 性质
        • 具有n个节点的m次树的最小高度h为⌈㏒ₘ(n(m-1)+1)⌉


    ● 证明
        • 设具有 n 个节点的m次树的高度为h, 若在该数中前h-1层都是满的,即每一层的节点数都等于m^(i-1)个(1<=i<=h-1),
          则该树具有最小的高度,第h层(即最后一层)的节点数可能满,也可能不满
        • 所以,当已知节点数 , 因为要求最小高度,所以 1~(h-1)层都是满的, 所以前面的层的节点数可以确定,由性质3,得出 
        h层前面的所有节点个数是: m^(h-1)/(m-1) 个
        第 h 层的节点是 , 可能不满, 所以m次数的节点 ,介于之间
        • 其高度 h 可计算如下:
            即 
            m^(h-1)/(m-1)  <  n   <=  (m^h-1)/(m-1)
        我们将其化简即可得到
            h = ⌈㏒ₘ(n(m-1)+1)⌉

    化简过程图示如下:

    例子

    ● 问题
        • 含 n 个节点的三次树的最小高度是多少 ? 最大高度是多少 ?
    ● 解

                

    最小高度:
        • 含 n 个节点的三次树 , 每个分支结点度都是 3 时, 高度h最小:
        => 1 + 3 + 9 +...+3^(h-2) < n <= 1+3+9+...+3^(h-1)
        => [3^(h-1) - 1 ]/2 < n <= [3^(h-1)]/2
        => 3^(h-1) < 2n+1 <= 3^h
        => 即 : 最小高度为 h = ⌈log₃(2n+1)⌉

    最大高度:
        • 设最大高度为h ,则 1 ~ h-1 层的节点个数是 1个 ,到 h 层,节点为3个,保证是三次树,
        前 h -1 层的节点总数为 (h-1) 个 , 第 h层节点个数是 3 个, 节点总数是 个 ,
        由  (h-1)+3 = n ,得
        最大高度是  n-2

  • 相关阅读:
    模型压缩-浅尝
    JUC源码学习笔记4——原子类,CAS,Volatile内存屏障,缓存伪共享与UnSafe相关方法
    1359:围成面积
    新手如何自学python?
    nginx 学习笔记
    第一章前端开发ES6基础
    面试官:能用JavaScript手写一个bind函数吗
    springSecurity简单直接说明
    Spring如何解决循环依赖
    部署云 SIEM 解决方案的 5 大优势
  • 原文地址:https://blog.csdn.net/qq_57484399/article/details/127809221