1、一棵完全二叉树的第六层(根为第一层)有8个叶结点,则该二叉树最多有多少结点?
分析:因为是完全二叉树,所以前六层的结点个数分别为1、2、4、8、16、32,又因为第六层有8个叶结点,所以第七层的结点数有(32-8)*2=48个。
可以算出,结点数有1+2+4+8+16+32+48=111个
2、一棵树度为4,度为4的结点有20个,度为3的结点有10个,度为2的结点有1个,度为1的结点有10个,求叶子结点数?
分析:设 为叶子结点数, 为度为1的结点数, 为度为2的结点数, 为度为3的结点数, 为度为4的结点数。
因为这棵树有 个结点,则有 条边,
根据每个结点的边数可以得到等式
可以解出, 。
3、二叉树的前序遍历序列中,任意一个结点均处在其子女结点的前面,这种说法()
正确
[解析]对于二叉树中的任意一棵子树,都是先遍历根结点,再遍历左右子树。
4、由于二叉树中每个结点的度最大为2,所以二叉树是一种特殊的树,这种说法()
错误
[解析]二叉树和树是两种不同的数据结构。
5、已知某二叉树的后序遍历序列是 dabec。中序遍历序列是 debac,它的前序遍历序列是( )
A.acbed B.decab C.deabc D.cedba
D
[解析]通过后序序列可以知道根结点是c,所以只能选D
6、在一非空二叉树的中序遍历序列中,根右边()
(A)只有右子树上的所有结点 (B)只有右子树上的部分结点
(C)只有左子树上的部分结点 (D)只有左子树上的所有结点
A
[解析]中序序列根结点的右边是全部的右子树。
7、任一二叉树的叶子结点在先、中和后序遍历序列中的相对次序 ( ) 。
(A)不发生改变 (B)发生改变 (C)不能确定 (D)以上都不对
A
[解析]叶子结点位于左右子树上,左右子树的遍历顺序不变,所以相对次序均不变。
8、某二叉树的前序遍历结点访问顺序是:abdgcefh,中序遍历的结点访问顺序是:dgbaechf,则其后序遍历的结点访问顺序是?
下面的解答转载自:https://zhidao.baidu.com/question/589177943934736965.html
分析:先序遍历序列的第一个字符为根结点。对于中序遍历,根结点在中序遍历序列的中间,左边部分是根结点的左子树的中序遍历序列,右边部分是根结点的右子树的中序遍历序列。
先序:abdgcefh --> a bdg cefh
中序:dgbaechf --> dgb a echf
得出结论:a是树根,a有左子树和右子树,左子树有bdg结点,右子树有cefh结点。
先序:bdg --> b dg
中序:dgb --> dg b
得出结论:b是左子树的根结点,b无右子树,有左子树。
先序:dg --> d g
中序:dg --> d g
得出结论:d是b的左子树的根结点,d无左子树,有右子树。
先序:cefh --> c e fh
中序:echf --> e c hf
得出结论:c是右子树的根结点,c有左子树(只有e结点),有右子树(有fh结点)。
先序:fh --> f h
中序:hf --> h f
得出结论:f是c的左子树的根结点,f有左子树(只有h结点),无右子树。
还原二叉树为:
a
/ \
b c
/ / \
d e f
\ /
g h
后序遍历序列:gdbehfca
9、一棵二叉树的先序遍历序列是:1234,后序遍历序列是:4321,中序遍历序列不可能是(C)
A.1234
B.2341
C.3241
D.4321
先序+中序=>树
中序+后序=>树
先序+后序=>无法推出树
分析:因为先序和后序是无法推出树的,所以这道题可以用选项来进行代入,用题目中的先序序列+选项中的中序序列来推出树,再写出后序序列。如果求出的后序序列与题目中的不一样,则说明不可能。
A选项代入得到的树
1
\
2
\
3
\
4
后序序列是4321
B选项代入得到的树
1
/
2
\
3
\
4
后序序列是4321
C选项代入得到的树
1
/
2
/ \
3 4
后序序列是3421
D选项代入得到的树
1
/
2
/
3
/
4
后序序列为4321