知识大全 树 - 二叉树 - 二叉树的性质
Posted 结点
篇首语:君不见长松卧壑困风霜,时来屹立扶明堂。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 树 - 二叉树 - 二叉树的性质相关的知识,希望对你有一定的参考价值。
二叉树具有以下重要性质
性质 二叉树第i层上的结点数目最多为 i (i≥ )
证明 用数学归纳法证明
归纳基础 i= 时 有 i = = 因为第 层上只有一个根结点 所以命题成立
归纳假设 假设对所有的j( ≤j
归纳步骤:根据归纳假设,第i-1层上至多有2 i-2 个结点。由于二叉树的每个结点至多有两个孩子,故第i层上的结点数至多是
第i-1层上的最大结点数的2倍。即j=i时,该层上至多有2×2 i-2 =2 i-1 个结点,故命题成立。
性质2 深度为k的二叉树至多有2 k -1个结点(k≥1)。
证明 :在具有相同深度的二叉树中,仅当每一层都含有最大结点数时,其树中结点数最多。因此利用性质1可得,深度为k的二叉树
的结点数至多为:
2 0 +2 1 +…+2 k-1 =2 k -1
故命题正确。
性质3 在任意-棵二叉树中,若终端结点的个数为n 0 ,度为2的结点数为n 2 ,则n o =n 2 +1。
证明 :因为二叉树中所有结点的度数均不大于2,所以结点总数(记为n)应等于0度结点数、1度结点(记为n 1 )和2度结点数之和:
n=n o +n 1 +n 2 (式子1)
另一方面,1度结点有一个孩子,2度结点有两个孩子,故二叉树中孩子结点总数是:
n l +2n 2
树中只有根结点不是任何结点的孩子,故二叉树中的结点总数又可表示为:
n=n 1 +2n 2 +1 (式子2)
由式子1和式子2得到:
n o =n 2 +1
满二叉树和完全二叉树是二叉树的两种特殊情形。
1、满二叉树(FullBinaryTree)
一棵深度为k且有2 k -1个结点的二又树称为满二叉树。
满二叉树的特点:
(1) 每一层上的结点数都达到最大值。即对给定的高度,它是具有最多结点数的二叉树。
(2) 满二叉树中不存在度数为1的结点,每个分支结点均有两棵高度相同的子树,且树叶都在最下一层上。
【例】图(a)是一个深度为4的满二叉树。
>
2、完全二叉树(Complete BinaryTree)
若一棵二叉树至多只有最下面的两层上结点的度数可以小于2,并且最下一层上的结点都集中在该层最左边的若干位置上,则此二叉
树称为完全二叉树。
特点:
(1) 满二叉树是完全二叉树,完全二叉树不一定是满二叉树。
(2) 在满二叉树的最下一层上,从最右边开始连续删去若干结点后得到的二叉树仍然是一棵完全二叉树。
(3) 在完全二叉树中,若某个结点没有左孩子,则它一定没有右孩子,即该结点必是叶结点。
【例】如图(c)中,结点F没有左孩子而有右孩子L,故它不是一棵完全二叉树。
【例】图(b)是一棵完全二叉树。
性质4 具有n个结点的完全二叉树的深度为
>
证明 :设所求完全二叉树的深度为k。由完全二叉树定义可得:
深度为k得完全二叉树的前k-1层是深度为k-1的满二叉树,一共有2 k-1 -1个结点。
由于完全二叉树深度为k,故第k层上还有若干个结点,因此该完全二叉树的结点个数:
n>2 k-1 -1。
另一方面,由性质2可得:
n≤2 k -1,
即:2 k-1 -l
由此可推出:2 k-1 ≤n<2 k ,取对数后有:
k-1≤lgn
又因k-1和k是相邻的两个整数,故有
>
由此即得:
>
注意:
>的证明【参见参考书目】 cha138/Article/program/sjjg/201311/23888
相关参考
二叉树是树形结构的一个重要类型许多实际问题抽象出来的数据结构往往是二叉树的形式即使是一般的树也能简单地转换为二 叉树而且二叉树的存储结构及其算法都较为简单因此二叉树显得特别重要 二叉树的定义
顺序存储结构 该方法是把二叉树的所有结点按照一定的线性次序存储到一片连续的存储单元中结点在这个序列中的相互位置还能反映出结点 之间的逻辑关系 完全二叉树结点编号 ()编号办法 在一棵n个
链式存储结构 结点的结构 二叉树的每个结点最多有两个孩子用链接方式存储二叉树时每个结点除了存储结点本身的数据外还应设置两个指针域 lchild和rchild分别指向该结点的左孩子和右孩子结点
树或森林与二叉树之间有一个自然的一一对应关系任何一个森林或一棵树可惟一地对应到一棵二叉树反之任何一棵二叉树也能惟一地对应到一个森林或一棵树.树森林到二叉树的转换()将树转换为二叉树 树中每个结点
树或森林与二叉树之间有一个自然的一一对应关系任何一个森林或一棵树可惟一地对应到一棵二叉树;反之任何一棵二叉树 也能惟一地对应到一个森林或一棵树 树森林到二叉树的转换 ()将树转换为二叉树
二叉树是树形结构的一个重要类型许多实际问题抽象出来的数据结构往往是二叉树的形式即使是一般的树也能简单地转换为二叉树而且二叉树的存储结构及其算法都较为简单因此二叉树显得特别重要二叉树的定义二叉树的递
二叉树的线索化 线索化和线索化实质 将二叉树变为线索二叉树的过程称为线索化 按某种次序将二叉树线索化的实质是按该次序遍历二叉树在遍历过程中用线索取代空指针 具体过程可 二叉树的中序线索化
(四)树与二叉树的应用 二叉排序树 定义 二叉排序树(也称二叉查找树)或者是一棵空的二叉树或者是具有下列性质的二叉树 ()若它的左子树不空则左子
遍历序列 遍历二叉树的执行踪迹 三种递归遍历算法的搜索路线相同(如下图虚线所示) 具体线路为 从根结点出发逆时针沿着二叉树外缘移动对每个结点均途径三次最后回到根结点 > 遍历序列 (
树与二叉树 二叉树和树是两种不同的概念这一点是必须要搞清楚的在这个部分我们要掌握树的定义二叉树的定义及主要特征(特殊的二叉树二叉树的性质)在二叉树的顺序存储结构和链式存储结构方面特别是链式存储结