二叉树的概念

一 概述

二叉树为多种树形结构中的一种,其特点为每个结点至多只有两棵子树,即二叉树中不存在度大于2的结点,并且二叉树的子树有左右之分,其次序不能任意颠倒。

二叉树同样是通过递归的形式进行定义。二叉树是n(n>=0)个结点的有限集合:

  1. 当n=0的时候,该树为空二叉树。
  2. 当n>0的时候,二叉树由一个根结点和互不相交的被称为根的左子树和右子树组成。左子树和右子树又分别为一棵二叉树。

二叉树是有序树,若将其左,右子树颠倒,则成为另一棵不同的二叉树。即使树中结点只有一棵子树,也要区分它是左子树还是右子树。

二叉树与度为2的有序树的区别:

  1. 度为2的树至少右3个结点,而二叉树可以为空。
  2. 度为2的有序树的孩子的左右次序是相对与另一个孩子而言的,若某个结点只有一个孩子,则这个孩子就无须区分其左右次序,而二叉树无论其左右孩子是否同时存在,均需确定其左右次序,即二叉树的结点次序不是相对另一个结点而言,而是确定的。

二 几种特殊的二叉树

                                              

满二叉树:一棵高度为h,且含有2^h - 1个结点的二叉树为满二叉树,即树中的每层都含有最多的结点。而且满二叉树的叶子结点都集中在二叉树的最下一层,并且除叶子结点之外的每个结点度数均为2。

完全二叉树:高度为h,有n个结点的二叉树,当且仅当其每个结点都与高度为h的满二叉树中的编号1~n的结点一一对应时,称为完全二叉树。完全二叉树的特点如下:

  1. 若i<=n/2(取下界),则结点i为分支结点,否则为叶子节点。
  2. 叶子结点只可能在层次最大的两层上出现。对于最大的层次中的叶子结点,都依次排列在该层最左边的位置上。
  3. 若有度为1的结点,则只可能有一个,且该结点只有左孩子而无右孩子(重要特征)。
  4. 按层序编号后,一旦出现某结点(编号为i)为叶子结点或只有左孩子,则编号大于i的结点均为叶子结点。
  5. 若n为奇数,则每个分支结点都有左孩子和右孩子;若n为偶数,则编号最大的分支结点(编号为n/2)只有左孩子,没有右孩子,其余分支结点左,右孩子都存在。

二叉排序树:左子树上所有结点的关键字均小于根结点的关键字;右子树上的所有结点关键字均大于根结点的关键字;左子树和右子树各是一棵二叉排序树。

平衡二叉树:树上任一结点的左子树和右子树的深度之差不超过1。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值