数据结构第六章树和二叉树习题及答案
习题六 树和二叉树
一、单项选择题
1. 以下说法错误的是 ( )
A.树形结构的特点是一个结点可以有多个直接前趋
B.线性结构中的一个结点至多只有一个直接后继
C.树形结构可以表达(组织)更复杂的数据
D.树(及一切树形结构)是一种"分支层次"结构
E.任何只含一个结点的集合是一棵树
2.下列说法中正确的是 ( )
A.任何一棵二叉树中至少有一个结点的度为2
B.任何一棵二叉树中每个结点的度都为2
C.任何一棵二叉树中的度肯定等于2
D.任何一棵二叉树中的度可以小于2
3.讨论树、森林和二叉树的关系,目的是为了( )
A.借助二叉树上的运算方法去实现对树的一些运算
B.将树、森林按二叉树的存储方式进行存储
C.将树、森林转换成二叉树
D.体现一种技巧,没有什么实际意义
4.树最适合用来表示 ( )
A.有序数据元素 B.无序数据元素
C.元素之间具有分支层次关系的数据 D.元素之间无联系的数据
5.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是( )
A.9 B.11 C.15 D.不确定
6.设森林F中有三棵树,第一,第二,第三棵树的结点个数分别为M1,M2和M3。与森林F对应的二叉树根结点的右子树上的结点个数是( )。
A.M1 B.M1+M2 C.M3 D.M2+M3
7.一棵完全二叉树上有1001个结点,其中叶子结点的个数是( )
A. 250 B. 500 C.254 D.505 E.以上答案都不对
8. 设给定权值总数有n 个,其哈夫曼树的结点总数为( )
A.不确定 B.2n C.2n+1 D.2n-1
9.二叉树的第I层上最多含有结点数为( )
A.2I B. 2I-1-1 C. 2I-1 D.2I -1
10.一棵二叉树高度为h,所有结点的度或为0,或为2,则这棵二叉树最少有( )结点
A.2h B.2h-1 C.2h+1 D.h+1
11. 利用二叉链表存储树,则根结点的右指针是( )。
A.指向最左孩子 B.指向最右孩子 C.空 D.非空
12.已知一棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历的结果为( )。
A.CBEFDA B. FEDCBA C. CBEDFA D.不定
13.已知某二叉树的后序遍历序列是dabec, 中序遍历序列是debac , 它的前序遍历是( )。
A.acbed B.decab C.deabc D.cedba 14.在二叉树结点的先序序列,中序序列和后序序列中,所有叶子结点的先后顺序( )
A.都不相同 B.完全相同
C.先序和中序相同,而与后序不同 D.中序和后序相同,而与先序不同
15.在完全二叉树中,若一个结点是叶结点,则它没( )。
A.左子结点 B.右子结点
C.左子结点和右子结点 D.左子结点,右子结点和兄弟结点
16.在下列情况中,可称为二叉树的是( )
A.每个结点至多有两棵子树的树
B. 哈夫曼树
C.每个结点至多有两棵子树的有序树
D. 每个结点只有一棵右子树
E.以上答案都不对
17. 一棵左右子树均不空的二叉树在先序线索化后,其中空的链域的个数是:( )。
A. 0 B. 1 C. 2 D. 不确定
18. 引入二叉线索树的目的是( )
A.加快查找结点的前驱或后继的速度 B.为了能在二叉树中方便的进行插入与删除
C.为了能方便的找到双亲 D.使二叉树的遍历结果唯一
19.n个结点的线索二叉树上含有的线索数为( )
A.2n B.n-l C.n+l D.n
20.由3 个结点可以构造出多少种不同的二叉树( )
A.2 B.3 C.4 D.5
21.下面几个符号串编码集合中,不是前缀编码的是( )。
A.{0,10,110,1111} B.{11,10,001,101,0001}
C.{00,010,0110,1000} D.{b,c,aa,ac,aba,abb,abc}
22. 一棵有n个结点的二叉树,按层次从上到下,同一层从左到右顺序存储在一维数组A[1..n]中,则二叉树中第i个结点(i从1开始用上述方法编号)的右孩子在数组A中的位置是( )
A.A[2i](2i<=n) B.A[2i+1](2i+1<=n)
C.A[i-2] D.条件不充分,无法确定
23、以下说法错误的是 ( )
A.哈夫曼树是带权路径长度最短的树,路径上权值较大的结点离根较近。
B.若一个二叉树的树叶是某子树的中序遍历序列中的第一个结点,则它必是该子树的后序遍历序列中的第一个结点。
C.已知二叉树的前序遍历和后序遍历序列并不能惟一地确定这棵树,因为不知道树的根结点是哪一个。
D.在前序遍历二叉树的序列中,任何结点的子树的所有结点都是直接跟在该结点的之后。
二、判断题(在各题后填写“√”或“×”)
1. 完全二叉树一定存在度为1的结点。( )
2.对于有N个结点的二叉树,其高度为log2n。( )
3. 二叉树的遍历只是为了在应用中找到一种线性次序。( )
4. 一棵一般树的结点的前序遍历和后序遍历分别与它相应二叉树的结点前序遍历和后序遍历是一致的。( ) 5. 用一维数组存储二叉树时,总是以前序遍历顺序存储结点。( )
6.中序遍历一棵二叉排序树的结点就可得到排好序的结点序列。 ( )
7.完全二叉树中,若一个结点没有左孩子,则它必是树叶。( )
8. 二叉树只能用二叉链表表示。( )
9. 给定一棵树,可以找到唯一的一棵二叉树与之对应。( )
10. 用链表(llink-rlink)存储包含n个结点的二叉树,结点的2n个指针区域中有n-1个空指针。( )
11.树形结构中元素之间存在一个对多个的关系。( )
12.将一棵树转成二叉树,根结点没有左子树。( )
13.度为二的树就是二叉树。( )
14. 二叉树中序线索化后,不存在空指针域。( )
15.霍夫曼树的结点个数不能是偶数。( )
16.哈夫曼树是带权路径长度最短的树,路径上权值较大的结点离根较近。( )
三、填空题
1.在二叉树中,指针p所指结点为叶子结点的条件是___ ___。
2.深度为k的完全二叉树至少有___ ____个结点,至多有___ ____个结点。
3.高度为8的完全二叉树至少有______个叶子结点。
4.具有n个结点的二叉树中,一共有________个指针域,其中只有________个用来指向结点的左右孩子,其余的________个指针域为NULL。
5.树的主要遍历方法有________、________、________等三种。
6.一个深度为k的,具有最少结点数的完全二叉树按层次,(同层次从左到右)用自然数依此对结点编号,则编号最小的叶子的序号是__ _;编号是i的结点所在的层次号是_ __(根所在的层次号规定为1层)。
7.如果结点A有 3个兄弟,而且B是A的双亲,则B的度是______。
8.二叉树的先序序列和中序序列相同的条件是___ ___。
9.一个无序序列可以通过构造一棵___ ___树而变成一个有序序列,构造树的过程即为对无序序列进行排序的过程。
10.若一个二叉树的叶子结点是某子树的中序遍历序列中的最后一个结点,则它必是该子树的____ __序列中的最后一个结点。
11.若以{4,5,6,7,8}作为叶子结点的权值构造哈夫曼树,则其带权路径长度是______。
12.以下程序段采用先根遍历方法求二叉树的叶子数,请在横线处填充适当的语句。
Void countleaf(bitreptr t,int *count)/*根指针为t,假定叶子数count的初值为0*/
{if(t!=NULL)
{if((t->lchild==NULL)&&(t->rchild==NULL))________;
countleaf(t->lchild,&count);
________
}
}
13.以下程序是二叉链表树中序遍历的非递归算法,请填空使之完善。二叉树链表的结点类型的定义如下:
typedef struct node /*C语言/
{char data; struct node *lchild,*rchild;}*bitree;
void vst(bitree bt) /*bt为根结点的指针*/
{ bitree p; p=bt; initstack(s); /*初始化栈s为空栈*/
while(p || !empty(s)) /*栈s不为空*/
if(p) { push (s,p); (1)___ ; } /*P入栈*/
else { p=pop(s); printf(“%c”,p->data);(2)__ __; }/*栈顶元素出栈*/
}
14.二叉树存储结构同上题,以下程序为求二叉树深度的递归算法,请填空完善之。
int depth(bitree bt) /*bt为根结点的指针*/
{int hl,hr;
if (bt==NULL) return((1)_ __);
hl=depth(bt->lchild); hr=depth(bt->rchild);
if((2)_ __) (3)_ ____;
return(hr+1);
数据结构-6 树和二叉树
1 第六章 树和二叉树
一.选择题
1. 以下说法错误的是 。
A.树形结构的特点是一个结点可以有多个直接前趋
B.线性结构中的一个结点至多只有一个直接后继
C.树形结构可以表达(组织)更复杂的数据
D.树(及一切树形结构)是一种"分支层次"结构
2. 如图6-2所示的 4 棵二叉树中, 不是完全二叉树。
图6-2 4 棵二叉树
3. 在线索化二叉树中,t 所指结点没有左子树的充要条件是 。
A. t->left == NULL B. t->ltag==1
C. t->ltag==1 且 t->left==NULL D .以上都不对
4. 以下说法错误的是 。
A.二叉树可以是空集
B.二叉树的任一结点最多有两棵子树
C.二叉树不是一种树
D.二叉树中任一结点的两棵子树有次序之分
5. 以下说法错误的是 。
A.完全二叉树上结点之间的父子关系可由它们编号之间的关系来表达
B.在三叉链表上,二叉树的求双亲运算很容易实现
C.在二叉链表上,求根,求左、右孩子等很容易实现
D.在二叉链表上,求双亲运算的时间性能很好
6. 如图6-3所示的 4 棵二叉树, 是平衡二叉树。 2
图6-3 4 棵二叉树
7. 如图6-4所示二叉树的中序遍历序列是 。
A. abcdgef B. dfebagc C. dbaefcg
D. defbagc
图6-4 1 棵二叉树
8. 已知某二叉树的后序遍历序列是 dabec,中序遍历序列是 debac,它的前序遍历序列是 。
A. acbed B. decab C. deabc D. cedba
数据结构练习第六章树
数据结构练习 第六章 树
一、选择题
1.树最适合用来表示( )。
A.有序数据元素 B.无序数据元素
C.元素之间具有分支层次关系的数据 D.元素之间无联系的数据
2.二叉树的第k层的结点数最多为( ).
A.2k-1 B.2K+1 C.2K-1 D. 2k-1
3.设哈夫曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有( )个空指针域。
A. 2m-1 B. 2m C. 2m+1 D. 4m
4.设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该二叉树得到序列为( )。
A. BADC B. BCDA C. CDAB D. CBDA
5.设某棵二叉树中有2000个结点,则该二叉树的最小高度为( )。
A. 9 B. 10 C. 11 D. 12
6.设一棵二叉树的深度为k,则该二叉树中最多有( )个结点。
A. 2k-1 B .2k C. 2k-1 D. 2k-1
7.设某二叉树中度数为0的结点数为N0,度数为1的结点数为Nl,度数为2的结点数为N2,则下列等式成立的是( )。
A. N0=N1+1 B. N0=Nl+N2 C. N0=N2+1 D. N0=2N1+l
8.设一棵m叉树中度数为0的结点数为N0,度数为1的结点数为Nl,……,度数为m的结点数为Nm,则N0=( )。
A. Nl+N2+……+Nm B. l+N2+2N3+3N4+……+(m-1)Nm
C. N2+2N3+3N4+……+(m-1)Nm D. 2Nl+3N2+……+(m+1)Nm
数据结构-树习题
数据结构-树习题
第六章 树
⼀、选择题1、⼆叉树的深度为k,则⼆叉树最多有( C )个结点。
A. 2k B. 2k-1 C. 2k-1 D. 2k-1
2、⽤顺序存储的⽅法,将完全⼆叉树中所有结点按层逐个从左到右的顺序存放在⼀维数组R[1..N]中,若结点R[i]有右孩⼦,则其右孩⼦是(B )。
A. R[2i-1] B. R[2i+1] C. R[2i] D. R[2/i]
3、设a,b为⼀棵⼆叉树上的两个结点,在中序遍历时,a在b前⾯的条件是( B )。
A. a在b的右⽅ B. a在b的左⽅ C. a是b的祖先 D. a是b的⼦孙
4、设⼀棵⼆叉树的中序遍历序列:badce,后序遍历序列:bdeca,则⼆叉树先序遍历序列为( )。
A. adbce B. decab C. debac D. abcde
5、在⼀棵具有5层的满⼆叉树中结点总数为(A)。
A. 31 B. 32 C. 33 D. 16
6、由⼆叉树的前序和后序遍历序列( B )惟⼀确定这棵⼆叉树。
A. 能 B. 不能
7、某⼆叉树的中序序列为ABCDEFG,后序序列为BDCAFGE,则其左⼦树中结点数⽬为( C )。
A. 3 B. 2 C. 4 D. 5
8、若以{4,5,6,7,8}作为权值构造哈夫曼树,则该树的带权路径长度为( C )。
A. 67 B. 68 C. 69 D. 70
9、将⼀棵有100个结点的完全⼆叉树从根这⼀层开始,每⼀层上从左到右依次对结点进⾏编号,根结点的编号为1,则编号为49的结点的左孩⼦编号为( A )。A. 98 B. 99 C. 50 D. 48
10、表达式a*(b+c)-d的后缀表达式是( B )。
A. abcd+- B. abc+*d- C. abc*+d- D. -+*abcd
11、对某⼆叉树进⾏先序遍历的结果为ABDEFC,中序遍历的结果为DBFEAC,则后序遍历的结果是( B )。
A. DBFEAC B. DFEBCA C. BDFECA D. BDEFAC
数据结构练习题--树(题)
1 第六章 树
一.名词解释:
1 树 2。结点的度 3。叶子 4。分支点 5。树的度
6.父结点、子结点 7兄弟 8结点的层数 9树的高度 10 二叉树
11 空二叉树 12 左孩子、右孩子 13孩子数 14 满二叉树 15完全二叉树
16 先根遍历 17 中根遍历 18后根遍历 19二叉树的遍历 20 判定树
21 哈夫曼树
二、填空题
1、 树(及一切树形结构)是一种“________”结构。在树上,________结点没有直接前趋。对树上任一结点X来说,X是它的任一子树的根结点惟一的________。
2、 一棵树上的任何结点(不包括根本身)称为根的________。若B是A的子孙,则称A是B的________
3、 一般的,二叉树有______二叉树、______的二叉树、只有______的二叉树、只有______
的二叉树、同时有______的二叉树五种基本形态。
4、 二叉树第i(i>=1)层上至多有______个结点。
5、 深度为k(k>=1)的二叉树至多有______个结点。
6、 对任何二叉树,若度为2的节点数为n2,则叶子数n0=______。
7、 满二叉树上各层的节点数已达到了二叉树可以容纳的______。满二叉树也是______二叉树,但反之不然。
8、 具有n个结点的完全二叉树的深度为______。
9、 如果将一棵有n个结点的完全二叉树按层编号,则对任一编号为i(1<=i<=n)的结点X有:
(1) 若i=1,则结点X是______;若i〉1,则X的双亲PARENT(X)的编号为______。
(2) 若2i>n,则结点X无______且无______;否则,X的左孩子LCHILD(X)的编号为______。
(3) 若2i+1>n,则结点X无______;否则,X的右孩子RCHILD(X)的编号为______。
10.二叉树通常有______存储结构和______存储结构两类存储结构。
数据结构习题第6章
第6章 树和二叉树
一、选择题
1. 不含任何结点的空树( )。
A. 是一棵树 B. 是一棵二叉树
C. 是一棵树也是一棵二叉树; D. 既不是树也不是二叉树
2. 一棵有n个结点的树的所有结点的度数之和为( )。
A. n-1 B. n C. n+1 D. 2n
3. 在二叉树中某一个结点的深度为3,高度为4,则该树的高度是( )。
A. 5 B. 6 C. 7 D. 8
4. 设高度为h的二叉树中只有度为0和度为2的结点,则该树的结点数至多为( )。
A. 2h-1 B. 2h+1 C. 2h-1 D. 2h+1
5. 设高度为h的二叉树中只有度为0和度为2的结点,则该树的结点数至少为( )。
A. 2h-1 B. 2h+1 C. 2h-1 D. 2h+1
6. 高度为h的满二叉树中有n个结点,其中有m个叶结点,则正确的等式是( )。
A. h+m=n B. h+m=2n C. m=h-1 D. n=2h-1
7.二叉树是非线性数据结构,所以( )。
A. 它不能用顺序存储结构存储
B. 它不能用链式存储结构存储
C. 顺序存储结构和链式存储结构都能存储
D. 顺序存储结构和链式存储结构都不能使用
8. 一棵完全二叉树有25个叶结点,则该树最少有( )个结点。
A. 48 B. 49 C. 50 D. 51
9. 假设一个三叉树的结点数为36,则该树的最小高度为( )。
A. 2 B. 3 C. 4 D. 5
10. 设二叉树有n个结点,则二叉链表中非空指针数为( )。
第6章--树和二叉树单元测试(答案)说课讲解
第6章--树和二叉树单元测试(答案)说课讲解
第6章--树和二叉树单元测试(答案)
第六章树和二叉树
姓名:学号:
一、选择题
1. 设树T的度为4,其中度为1,2,3和4的结点个数分别为4,2,1,1 则T 中的叶子数为()
A.5 B.6
C.7 D.8
2. 一棵具有 n个结点的完全二叉树的树高度(深度)是()
A.?log2n?+1 B.log2n+1
C.?log2n?D.log2n-1
3.高度为 k的二叉树最大的结点数为()。
A.2k B.2k-1
C.2k -1 D.2k-1-1
4. 利用二叉链表存储树,则根结点的右指针()。
A.指向最左孩子B.指向最右孩子
C.为空指针D.为非空指针
5.森林的先序遍历序列等同于对应的二叉树的( ).
A. 先序序列
B. 中序序列
C. 后序序列
D. 层次序列
6.已知一棵二叉树的先序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后
序遍历的结果为()。
A.CBEFDA B. FEDCBA C.CBEDFA D.不确定
7. 引入线索二叉树的目的是()
A.加快查找结点的前驱或后继的速度B.为了能在二叉树中方便地进行插入与删除
C.为了能方便的找到双亲D.使二叉树的遍历结果唯一8.3 个结点的二叉树有()种不同的形态。
A.2 B.3
C.4 D.5
二、判断题
1.二叉树是度为2的有序树。
2.对一棵二叉树进行层次遍历时,应借助于一个栈。
3.树的先根遍历和其相应的二叉树的先序遍历的结果是一样的。
4.中序遍历一棵二叉排序树的结点就可得到排好序的结点序列
5.根据任何一棵二叉树的先序序列和后序序列可以唯一确定这棵二叉树。
6.二叉树中每个结点至多有2个子结点,而对一般树则无此限制.因此,二叉树是
树的特殊情形.
7.树形结构中元素之间存在一个对多个的关系。
8.完全二叉树的存储结构通常采用顺序存储结构。
9.树与二叉树是两种不同的树型结构。
数据结构第6章习题
第6章习题
一、填空 1.结点数为7的二叉树的高度最矮是 ,最高是 。
2.给定二叉树的结点数,要使树高为最大,那么该树应该是 形状。
3.给定二叉树的结点数,要使树高为最矮,那么该树应该是 形状。 4.如果一棵满二叉树的深度为6,那么它共有 个结点,有 个叶结点。
5.有15个结点的二叉树,最少有 个叶结点,最多有 个叶结点。
6.由n个带权值的叶结点生成的哈夫曼树,最终共有 个结点。
7.将一棵完全二叉树按层次进行编号。那么,对编号为i的结点,如果有左孩子,则
左孩子的编号应该是 ;如果有右孩子,则右孩子的编号应该是 。 8.若二叉树共有n个结点,采用二叉链表存储结构。那么在所有存储结点里,一共会
有 个指针域,其中有 个指针域是空的。 9.深度为5的二叉树,至多有 个结点。
10.在二叉树中,有一个结点具有左、右两个孩子。那么在中序遍历序列里,它的右孩
子一定排在它的 边。 二、选择 1.在所给的4棵二叉树中, 不是完全二叉树。
2.把一棵深度为3的左单支二叉树改造成完全二叉树时,要增添 个空结点。 A.10 B.8 C.6 D.4
3.设有一棵5个结点的二叉树,其先序遍历序列为:A-B-C-D-E,中序遍历序列为:
B-A-D-C-E,那么它的后序遍历序列为 。
A.A-B-D-E-C B.B-D-E-C-A
C.D-E-C-A-B D.A-B-C-D-E 4.将一棵有50个结点的完全二叉树按层编号,那么编号为25的结点是 。
A.无左、右孩子 B.有左孩子,无右孩子
C.有右孩子,无左孩子 D.有左、有孩子
5.深度为6的二叉树,最多可以有 个结点。
A.63 B.64 C.127 D.128 6.在一棵非空二叉树的中序遍历序列里,根结点的右边 结点。
A.只有左子树上的部分 B.只有左子树上的所有
C.只有右子树上的部分 D.只有右子树上的所有
7.在任何一棵二叉树的各种遍历序列中,叶结点的相对次序是 。
数据结构课后习题(第6章)
楚雄师院计科系 网络工程2010级 《算法与数据结构》课后习题(第6章)
第 1 页 【课后习题】第6章 树和二叉树
网络工程2010级( )班 学号: 姓名:
题 号 一 二 三 四 五 总分
得 分
一、填空题(每空1分,共16分)
1. 从逻辑结构看,树是典型的 。
2. 设一棵完全二叉树具有999个结点,则此完全二叉树有
个叶子结点,有
个度为2的结点,有 个度为1的结点。
3. 由n个权值构成的哈夫曼树共有 个结点 。
4. 在线索化二叉树中,T所指结点没有左子树的充要条件是 。
5. 在非空树上,_____没有直接前趋。
6. 深度为k的二叉树最多有
结点,最少有 个结点。
7. 若按层次顺序将一棵有n个结点的完全二叉树的所有结点从1到n编号,那么当i为
且小于n时,结点i的右兄弟是结点 ,否则结点i没有右兄弟。
8. N个结点的二叉树采用二叉链表存放,共有空链域个数为 。
9. 一棵深度为7的满二叉树有___ ___个非终端结点。
10. 将一棵树转换为二叉树表示后,该二叉树的根结点没有 。
11. 采用二叉树来表示树时,树的先根次序遍历结果与其对应的二叉树的 遍历结果是一样的。
12. 一棵Huffman树是带权路径长度最短的二叉树,权值 的外结点离根较远。
二、判断题(如果正确,在对应位置打“”,否则打“”。每题0.5分,共5分)
1 2 3 4 5 6 7 8 9 10
1. 对于一棵非空二叉树,它的根结点作为第一层,则它的第i层上最多能有2i-1个结点。
2. 二叉树的前序遍历并不能唯一确定这棵树,但是,如果我们还知道该二叉树的根结点是那一个,则可以确定这棵二叉树。
数据结构(树和二叉树)练习题与答案1
1、树最适合用来表示( )。
A.元素之间无联系的数据
B.元素之间具有层次关系的数据
C.无序数据元素
D.有序数据元素
正确答案:B
2、现有一“遗传”关系,设x是y的父亲,则x可以把他的属性遗传给y。表示该遗传关系最适合的数据结构为( )。
A.线性表
B.树
C.数组
D.图
正确答案:B
3、一棵节点个数为n、高度为h的m(m≥3)次树中,其分支数是( )。
A.n+h
B.h-1
C.n-1
D.nh
正确答案:C
4、若一棵3次树中有2个度为3的节点,1个度为2的节点,2个度为1的节点,该树一共有( )个节点。
A.11
B.5
C.8
D.10
正确答案:A
解析: A、对于该3次树,其中有n3=2,n2=1,n1=2,总分支数=总度数=n-1,总度数=1×n1+2×n2+3×n3=10,则n=总度数+1=11。
5、设树T的度为4,其中度为1、2、3、4的节点个数分别为4、2、1、1,则T中的叶子节点个数是( )。
A.6
B.8
C.7
D.5
正确答案:B
解析: B、这里n1=4,n2=2,n3=1,n4=1,度之和=n-1=n1+2n2+3n3+4n4=15,所以n=16,则n0=n-n1-n2-n3-n4=16-8=8。
6、有一棵三次树,其中n3=2,n2=1,n0=6,则该树的节点个数为( )。
A.9
B.12
C.大于等于9的任意整数
D.10
正确答案:C
解析: C、n=n0+n1+n2+n3=6+n1+1+2=9+n1。
7、假设每个节点值为单个字符,而一棵树的后根遍历序列为ABCDEFGHIJ,则其根节点值是( )。
A.J
B.B
C.以上都不对
D.A
正确答案:A
8、一棵度为5、节点个数为n的树采用孩子链存储结构时,其中空指针域的个数是( )。
A.4n
B.4n-1
C.4n+1
D.5n
正确答案:C
解析: C、总指针数=5n,非空总指针数=分支数=n-1,空指针域的个数=5n-(n-1)=4n+1。
第6章树和二叉树
第6章树和二叉树
2 第 6 章 树和二叉树
6.1 已知一棵树如图所示,回答下列问题:
(1) 哪个是根结点?
(2) 哪些是叶子结点?
(3) 哪个是结点 G 的双亲?
(4) 哪些是结点 G 的祖先?
(5) 哪些是结点 B 的孩子?
(6) 哪些是结点B的子孙?
(7) 哪些是结点 E 的兄弟?
(8) 结点 B 和 H 的层次号分别是什么 ?
(9) 树的深度是多少?
(10) 以结点 C 为根的子树的深度是多少? 【6.1 解】:
(1) A
(2) K, F,G,H,I,J
(3) B
(4) B,A
(5) E,F,G
(6) E,F,G,K
(7) F,G
(8) 2, 3
(9) 4
(10) 2
6.2 在结点个数为n(n>1)的各棵树中,最小的高度是多少?它有多少个叶结点?多少个分支结点?最大的高度树是多少?它有多少个叶结点?多少个分去结点? 【6.2解】结点个数为n时,高度最小的树高度为1,有2层;它有n-1个叶结点,1个分支结点;高度最大的树的高度为n-1,有n层;它有1个叶结点,n-1个分支结点。
6.3简述树与二叉树的区别? 【6.3解】二叉树的度最大为2,而树的度可以大于2;
二叉树的每个结点的孩子有左、右之分,而树中结点的孩子无左右之分。
6.4 n(n>1)个结点的各棵二叉树中,最小的高度(h≥1)多少?最大的高度是多少?
【6.4解】最小高度为:n2log+1,此时树为完全二叉树;
最大高度为n,比如一棵斜二叉树。
6.5如果一棵树有n1个度为1的结点,有n2个度为2的结点,…,nm个度为m的结点,试问有多少个度为0的结点?试推导之。
【6.5解】
设叶子结点数为n0,则树中结点数和总度数分别为:
结点数=n0+n1+n2+...+nm
