第4章 树和二叉树
一、选择题
1. 设树T的度为4,其中度为1,2,3和4的结点个数分别为4,2,1,1 则T中的叶子
数为( )
A.5 B.6 C.7 D.8 2. 在下述结论中,正确的是( )
①只有一个结点的二叉树的度为0; ②二叉树的度为2; ③二叉树的左右子树可任意交换;
④深度为K的完全二叉树的结点个数小于或等于深度相同的满二叉树。 A.①②③ B.②③④ C.②④ D.①④
3. 设森林F对应的二叉树为B,它有m个结点,B的根为p,p的右子树结点个数为n,森林
F中第一棵树的结点个数是( )
A.m-n B.m-n-1 C.n+1 D.条件不足,无法确定 4. 若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是( )
A.9 B.11 C.15 D.不确定
5. 设森林F中有三棵树,第一,第二,第三棵树的结点个数分别为M1,M2和M3。与森林
F对应的二叉树根结点的右子树上的结点个数是( )。 A.M1 B.M1+M2 C.M3 D.M2+M3 6. 具有10个叶结点的二叉树中有( )个度为2的结点,
A.8 B.9 C.10 D.ll
7. 若一棵二叉树有126个节点,在第7层(根节点在第1层)至多有( )个节点。
A. 32 B. 64 C.63 D.不存在第7层
8. 设给定权值总数有n 个,其哈夫曼树的结点总数为( )
A.不确定 B.2n C.2n+1 D.2n-1 9. 下列关于哈夫曼树的 说法中最准确的是( )。
A.最优树 B.叶子节点带有权值的二叉树 C.最优二叉树 D.叶子节点带有权值的树
10. 有关二叉树下列说法正确的是( )
A.二叉树的度为2 B.一棵二叉树的度可以小于2
C.二叉树中至少有一个结点的度为2 D.二叉树中任何一个结点的度都为2 11. 二叉树的第I层上最多含有结点数为( )
I I-1I-1I
A.2 B. 2-1 C. 2 D.2 -1 12. 一个具有1025个结点的二叉树的高h为( )
A.11 B.10 C.11至1025之间 D.10至1024之间
13. 一棵二叉树高度为h,所有结点的度或为0,或为2,则这棵二叉树最少有( )结点
A.2h B.2h-1 C.2h+1 D.h+1 14. 对于有n 个结点的二叉树, 其高度为( )
A.nlog2n B.log2n C.?log2n?+1 D.不确定 15. 一棵具有 n个结点的完全二叉树的树高度(深度)是( )
A.?log2n?+1 B.log2n+1 C.?log2n? D.log2n-1 16. 高度为 K的二叉树最大的结点数为( )。
A.2 B.2 C.2 -1 D.2-1
k
k-1
k
k-1
17. 一棵高为K的完全二叉树至少有( )个结点
kk-1k-1k
A.2 –1 B. 2 –1 C. 2 D. 2 18. 对于先序遍历和中序遍历结果相同的二叉树是( )。
A. 无左子树的二叉树 B.无右子树的二叉树 C.所有节点只有左子树的二叉树 D.所有节点只有右子树的二叉树 19. 对二叉树的结点从1开始进行连续编号,要求每个结点的编号大于其左、右孩子的编号,
同一结点的左右孩子中,其左孩子的编号小于其右孩子的编号,可采用( )次序的遍历实现编号。
A.先序 B. 中序 C. 后序 D. 从根开始按层次遍历 20. 树的后根遍历序列等同于该树对应的二叉树的( ).
A. 先序序列 B. 中序序列 C. 后序序列 21. 在下列存储形式中,哪一个不是树的存储形式?( )
A.双亲表示法 B.孩子链表表示法 C.孩子兄弟表示法 D.顺序存储表示法 22. 一棵二叉树的前序遍历序列为ABCDEFG,它的中序遍历序列可能是( )
A.CABDEFG B.ABCDEFG C.DACEFBG D.ADCFEG 23. 已知一棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历的结果
为( )。
A.CBEFDA B. FEDCBA C. CBEDFA D.不定
24. 某二叉树中序序列为A,B,C,D,E,F,G,后序序列为B,D,C,A,F,G,E 则前序序列是
( )。
A.E,G,F,A,C,D,B B.E,A,C,B,D,G,F C.E,A,G,C,F,B,D D.上面的都不对
25. 二叉树的先序遍历和中序遍历如下: 先序遍历:EFHIGJK;中序遍历: HFIEJKG 。该二
叉树根的右子树的根是( )。
A、 E B、 F C、 G D、 H
26. 某二叉树T有n个结点,设按某种顺序对T中的每个结点进行编号,编号为1,2,? ,
n,且有如下性质:T中任一结点V,其编号等于左子树上的最小编号减1,而V的右子树的结点中,其最小编号等于V左子树上结点的最大编号加1。这时是按( )编号的。 A.中序遍历序列 B.前序遍历序列 C.后序遍历序列 D.层次顺序
27. 一棵非空的二叉树的先序遍历序列与后序遍历序列正好相反,则该二叉树一定满足
( )。
A.完全二叉树 B.只有两个结点的二叉树 C. 二叉排序树 D. 任一节点只有一个孩子结点
28. 任何一颗二叉树的叶子结点在先序序列,中序序列和后序序列中的相对次序( )。
A.不 发生改变 B.发生改变 C.不能确定 D.以上都不对
29. 若对二叉树进行中序遍历,具有左、右子树的结点,其后继是该结点的( )。
A. 双亲结点 B.其左子树中最右下角元素 C.其右孩子 D.其右子树中最左下角元素
30. 在完全二叉树中,若一个结点是叶结点,则它没( )。
A.左子结点 B.右子结点 C.左子结点和右子结点 D.左子结点,右子结点和兄弟结点
31. 一棵左子树为空的二叉树在先序线索化后,其中空的链域的个数是:( )。
A.不确定 B. 0 C. 1 D. 2
32. 一棵左右子树均不空的二叉树在先序线索化后,其中空的链域的个数是:( )。
A. 0 B. 1 C. 2 D. 不确定
33. 若X是二叉中序线索树中一个有左孩子的结点,且X不为根,则x的前驱为( ) 。
A. X的双亲 B. X的右子树中最左的结点 C. X的左子树中最右结点 D. X的左子树中最右叶结点
34. 引入线索二叉树的目的是( )
A.加快查找结点的前驱或后继的速度 B.为了能在二叉树中方便的进行插入与删除 C.为了能方便的找到双亲 D.使二叉树的遍历结果唯一 35. n个结点的线索二叉树上含有的线索数为( )
A.2n B.n-l C.n+l D.n
36. 设F是一个森林,B是由F变换得的二叉树。若F中有n个非终端结点,则B中右指针
域为空的结点有( )个。
A. n-1 B.n C. n+1 D. n+2 37. 在叶子数目和权值相同的所有二叉树中,最优二叉树一定是完全二叉树,该说法( )。
A.正确 B.错误
38. 下述编码中哪一个不是前缀码( )。
A.(00,01,10,11) B.(0,1,00,11) C.(0,10,110,111) D.(1,01,000,001)
39. 一棵有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.条件不充分,无法确定 40. 从下列有关树的叙述中,选出5条正确的叙述( )。
A.二叉树中每个结点有两个子结点,而树无此限制,因此二叉树是树的特殊情况。
k-1
B.当K≥1时高度为K的二叉树至多有2个结点。 C.用树的前序遍历和中序遍历可以导出树的后序遍历。
D.线索二叉树的优点是便于查找某结点的前驱结点和后继结点。 E.将一棵树转换成二叉树后,根结点没有左子树。
F.一棵含有N个结点的完全二叉树,它的高度是?LOG2N?+1。 G.在二叉树中插入结点,该二叉树便不再是二叉树。
H.采用二叉树链表作树的存储结构,树的前序遍历和其相应的二叉树的前序遍历的结果是一样的。
I.哈夫曼树是带权路径最短的树,路径上权值较大的结点离根较近。 J.用一维数组存储二叉树时,总是以前序遍历存储结点。
二、综合应用题
1、 一棵高度为 5 的二叉树中最少含有 _________ 个结点,最多含有 ________ 个结点。 2、 具有65个结点的完全二叉树的高度为_________。(根的层次号为1).
3、 假设一棵二叉树的前序序列为 EBADCFHGIKJ 和中序序列为 ABCDEFGHIJK。请画出
该树。
4、 已知一棵完全二叉树中共有768结点,则该树中共有______个叶子结点。 5、 有n个结点并且其高度为n的二叉树的数目是多少? 6、 试找出分别满足下列条件的所有二叉树。
1)先序序列和中序序列相同 2)中序序列和后序序列相同 3)先序序列和后序序列相同
7、 设A、B、C、D、E、F六个字母出现的概率分别为7,19,2,6,32,3。试写出为这六个字母
设计的HUFFMAN编码,并求出对应HUFFMAN树的带权路径长度。 8、 已知一棵树的先序序列和后序序列如下,请构造出该树。
先序序列:ABCDEFGHIJ 后序序列:CDEBFHIJGA
9、 一棵二叉树的先序、中序和后序序列分别如下,其中有一部分为显示出来。试求出空格
处的内容,并画出该二叉树。
先序序列: _ B F I C E H G 中序序列:D K F I A E J C 后序序列: K F B H J G A 10、 如在内存中存放一个完全二叉树,在树上只进行下面两个操作:
(1)寻找某个结点双亲 (2)寻找某个结点的儿子; 请问应该用何种结构来存储该二叉树? 11、 将二叉树bt中每一个结点的左右子树互换。请分别用递归和非递归算法实现。 12、 二叉树采用二叉链表存储,编写计算二叉树最大宽度的算法(二叉树的最大宽度是
指二叉树所有层中结点个数的最大值)。 13、 试写出一递归函数,判别两棵树是否相等 14、 请设计一个算法,要求该算法把二叉树的叶子结点按从左到右的顺序连成一个单链
表,表头指针为head。 二叉树按二叉链表方式存储,链接时用叶子结点的右指针域来存放单链表指针。 15、 下面是求二叉树高度的类C写的递归算法,试补充完整
[说明]二叉树的两指针域为lchild与rchild, 算法中p为二叉树的根,lh和rh分别为以p为根的二叉树的左子树和右子树的高,hi为以p为根的二叉树的高,hi最后返回。 height(p) {if ((1)___)
{if(p->lchild==null) lh=(2)_______; else lh=(3)_______;
if(p->rchild==null) rh=(4)_______; else rh=(5)_______; if (lh>rh) hi=(6)__;else hi=(7)_______; }
else hi=(8)_______; return hi; } 16、 将下列由三棵树组成的森林转换为二叉树。
D G A
J H I E B C K L M N O
F P
17、 设T是一棵给定的查找树,试编写一个在树中删除根结点为a的子树的程序,要求
在删除的过程中释放该子树所有结点所占有的存储空间,这里假设树T中结点所占有的存储空间是通过动态存储分配取得的,其结点的形式为:(lchild,data,rchild)
18、 试编写算法,对一棵以孩子—兄弟链表表示的树统计叶子的个数。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库数据结构题库(2)在线全文阅读。
相关推荐: