树与二叉树的概念

概念与定义:
  • 树的层数:
    • 树根为第一层,其孩子为第二层,孙子为第三层。
  • 树的深度:
    • 树中结点的最大层数称为树的深度。
  • 满足以下两个条件的树称为二叉树(Binary Tree)
    • 每个结点的度都不大于2(度即为孩子数)
    • 每个结点的孩子结点次序不能随意颠倒
  • 满二叉树:
    • 每一层都是满的,即第i层有 2i1 个结点,则是满二叉树
    • 若除最下面一层结点度数0外,其余结点度数均为2
  • 完全二叉树:

    • 如果一个二叉树各层都是“满”的,只是最下面一层从右边起连续缺n个结点,这种二叉树叫做完全二叉树。

    Note:二叉树是有序树,因此不是所有满足结点度数不大于2的树都是二叉树。

有用结论:
  • 树的结点数n和分枝数b的关系为:b=n-1
  • 二叉树第i层上至多有 2i1 个结点
  • 深度为k的二叉树上至多含 2k1 个结点
    20+21+22+...+2k1=2k1
  • 对任何一棵二叉树,若它含有 n0 个叶子结点, n2 个度数为2的结点,则必存在关系式: n0=n2+1
    证明:
    设 二叉树上结点总数: n=n0+n1+n2
    再根据树的性质: b=n1=n0+n1+n21
    由有二叉树分支总数: b=n1+2n2
    两式右边相等得: n0=n2+1
  • 层数为k的完全二叉树的结点数量n满足关系:
    2k11n2k1
    即n值大于深度为h-1的满二叉树的结点数,但小于或等于深度为h的满二叉树的结点数。
  • 若按层编号,
    对于完全二叉树中任一个编号为i的结点(1≤i≤n),它的父结点和左、右儿子结点的编号与i值有如下的关系:
    1) 如果i=1,则它是整个树的根结点,无父结点;若i>1,则其父结点编号为 i/2
    2) 如果2i≤n,则其左儿子结点编号为2i;若2i>n,则无左儿子结点。
    3) 如果(2i+1)≤n,则其右儿子结点编号为(2i+1);反之,则无右儿子结点。
  • 具有n个结点的完全二叉树深度为: k=log2n+1
    证明: 设完全二叉树的深度为 k
    则根据性质2得 2k-1 -1 < n ≤ 2k -1
    则 2k-1 ≤ n < 2k
    即 k-1 ≤ log2 n < k
    k 只能是整数,因此: k=log2n+1
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值