二叉树的性质
对任何一棵二叉树,如果度为0
其叶结点个数为 n0
,度为2
的分支结点个数为n2
,则有n0=n2+1
证明:
假设一个二叉树有 a
个度为2
的结点,b
个度为1
的结点,c
个叶结点,则这个⼆叉树的边数是2a+b
,另一方面,由于共有a+b+c
个节点,所以边数等于a+b+c-1
,结合上面两个公式:2a+b = a+b+c-1
,即:a = c-1
题目一
某⼆叉树共有 399 个结点,其中有 199 个度为 2 的结点,则该⼆叉树中的叶结点数为( )
A 不存在这样的⼆叉树
B 200
C 198
D 199
由上述的性质,我们可以清楚的知道n2=199
,所以n0=n2+1=200
,所以选B
题目二
在具有2n 个结点的完全二叉树中,叶子结点个数为( )
A n
B n+1
C n-1
D n/2
设度为2
的结点有n2
个,度为1
的结点有n1
个,度为0
的结点有n0
个。
由题目可知n2+n1+n0=2n
,又因为n0=n2+1
,所以n2=n0-1
,即2n0+n1-1=2n
,又因为在完全二叉树中度为1
的结点数要么是0
个要么是1
个,我们分两种情况进行讨论:
- 当
n1=0
时,2n0-1=2n
,不成立 - 当
n1=1
时,2n0=2n
,即n0=n
,因此选A
题目三
⼀棵完全⼆叉树的结点数位为531个,那么这棵树的高度为( )
A 11
B 10
C 8
D 12
从以前的学习中可以知道,高度为h
的二叉树最多有结点n=2^h-1
个。所以h=logn
,所以h=10
,选B
题目四
⼀个具有767个结点的完全⼆叉树,其叶子结点个数为()
A 383
B 384
C 385
D 386
此题与题目二类似,同样的设法,我们可以知道2n0+n1-1=767
同样分两种情况:
- 当
n1=0
时,2n0=768
,n0=384
,选B - 当
n1=1
时,2n0=767
,不成立
链式二叉树遍历选择题
题目一
某完全二叉树按层次输出(同⼀层从左到右)的序列为 ABCDEFGH 。该完全⼆叉树的前序序列为()
A ABDHECFG
B ABCDEFGH
C HDBEAFCG
D HDEBFGCA
如上图为该二叉树,从上图我们可以知道前序序列为ABDHECFG
,选A
题目二
⼆叉树的先序遍历和中序遍历如下:先序遍历:EFHIGJK;中序遍历:HFIEJKG.则⼆叉树根结点为()
A E
B F
C G
D H
二叉树的先序遍历的第一个结点为根结点,所以选A
题目三
设⼀课⼆叉树的中序遍历序列:badce,后序遍历序列:bdeca,则⼆叉树前序遍历序列为____。
A adbce
B decab
C debac
D abcde
由后序遍历的顺序为左右根结点,可以知道该二叉树的根结点为a,我们可以推出该二叉树为:
因此先序遍历为:abcde,选D
题目四
某⼆叉树的后序遍历序列与中序遍历序列相同,均为ABCDEF ,则按层次输出(同⼀层从左到右)的序列为:()
A FEDCBA
B CBAFED
C DEFCBA
D ABCDEF
由后序遍历可以推出根结点为F,由此可以逐渐推出以下的二叉树:
因此层次遍历为:FEDCBA,选A