树的性质及其证明

目录

性质  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

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值