[考研类试卷]树与二叉树模拟试卷3及答案与解析.doc
《[考研类试卷]树与二叉树模拟试卷3及答案与解析.doc》由会员分享,可在线阅读,更多相关《[考研类试卷]树与二叉树模拟试卷3及答案与解析.doc(25页珍藏版)》请在麦多课文档分享上搜索。
1、树与二叉树模拟试卷 3 及答案与解析一、单项选择题1 已知一算术表达式的中缀形式为 A+B*C-DE,后缀形式为 ABC*+DE-,其前缀形式为( ) 。(A)一 A+B*CDE(B) -A+B*CDE(C) -+*ABCDE(D)-+A*BC DE2 设树 T 的度为 4,其中度为 1、2、3 和 4 的结点个数分别为 4、2、1、1,则树T 中的叶子数为( )。(A)5(B) 6(C) 7(D)8-3 在下述结论中,正确的是( )。 只有一个结点的二叉树的度为 0; 二叉树的度为 2;二叉树的左右子树可任意交换;深度为 K 的完全二叉树的结点个数小于或等于深度相同的满二叉树。(A)(B)
2、(C) (D)4 设森林 F 对应的二叉树为 B,它有 m 个结点,二叉树 B 的根为 p,p 的右子树结点个数为 n,森林 F 中第一棵树的结点个数是 ( )。(A)m-n(B) m-n-1(C) n+1(D)无法确定-5 若一棵二叉树具有 10 个度为 2 的结点,5 个度为 1 的结点,则度为 O 的结点个数是( )。 (A)9(B) 11(C) 15(D)不确定6 在一棵三叉树中度为 3 的结点数为 2 个,度为 2 的结点数为 1 个,度为 1 的结点数为 2 个,则度为 0 的结点数为( )个。(A)4(B) 5(C) 6(D)77 设森林 F 中有 3 棵树,第一、第二、第三棵树
3、的结点个数分别为 M1,M 2 和M3。与森林 F 对应的二叉树根结点的右子树上的结点个数是( )。(A)M 1(B) M1+M2(C) M3(D)M 2+M38 一棵完全二叉树上有 1001 个结点,其中叶子结点的个数是( )。(A)250(B) 500(C) 254(D)5019 设给定权值总数有 n 个,其哈夫曼树的结点总数为( )。(A)不确定(B) 2n(C) 2n+l(D)2n-110 若度为 m 的哈夫曼树中,其叶结点个数为 n,则非叶结点的个数为 ( )。(A)n-1(B) nm 一 1(C) (n 一 1)(m 一 1)(D)(n+1)(m+1) 一 l11 一个具有 1 0
4、25 个结点的二叉树的高度 h 为( )。(A)1 1(B) 10(C) 111025(D)10102412 一棵二叉树高度为 h,所有结点的高度或为 0,或为 2,则这棵二叉树最少有( )结点。(A)2h(B) 2h-一 1(C) 2h+l(D)h+l13 对于有 n 个结点的二叉树,其高度为( )。(A)nlog 2n(B) 10g2n(C) 10g2n+l(D)不确定14 若二叉树采用二叉链表存储结构,要交换其所有分支结点左、右子树的位置,利用( )遍历方法最合适。(A)前序(B)中序(C) 后序(D)按层次15 一棵二叉树的前序遍历序列为 ABCDEFG,它的中序遍历序列可能是( )。
5、(A)CABDEFG(B) ABCDEFG(C) DACEFBG(D)ADCFEG16 某二叉树中序序列为 ABCDEFG,后序序列为 BDCAFGE,则前序序列是( )。(A)EGFACDB(B) EACBDGF(C) EAGCFBD(D)上面的都不对17 某二叉树中序序列为 ABCDEFG,后序序列为 BDCAFGE,该二叉树对应的森林包括多少棵树( ) 。(A)1(B) 2(C) 3(D)概念上是错误的18 一棵非空的二叉树的先序遍历序列与后序遍历序列正好相反,则该二叉树一定满足( )。(A)所有的结点均无左孩子(B)所有的结点均无右孩子(C)只有一个叶子结点(D)是任意一棵二叉树19
6、在二叉树结点的先序序列,中序序列和后序序列中,所有叶子结点的先后顺序( )。(A)都不相同(B)完全相同(C)先序和中序相同,而与后序不同(D)中序和后序相同,而与先序不同20 某二叉树的前序序列和后序序列正好相反,则该二叉树一定是( )的二叉树。(A)空或只有一个结点(B)任一结点无左子树(C)高度等于其结点数(D)任一结点无右子树21 一棵左子树为空的二叉树在先序线索化后,其中空的链域的个数是( )。(A)不确定(B) 0(C) 1(D)222 一棵左右子树均不空的二叉树在先序线索化后,其中空的链域的个数是( )。(A)0(B) 1(C) 2(D)不确定23 ( )的遍历仍需要栈的支持。(
7、A)前序线索树(B)中序线索树(C)后序线索树(D)以上都不是24 n 个结点的线索二叉树上含有的线索数为( )。(A)2n(B) n-1(C) n+1(D)n25 下面几个符号串编码集合中,不是前缀编码的是( )。(A)0 ,10 ,110,1111(B) 11,10,001,101,0001(C) 00,010,0110,1000(D)b ,C,aa,aC,aba,abb,abC二、综合题26 从概念上讲,树、森林和二叉树是 3 种不同的数据结构,说明将树、森林转化为二叉树的基本目的是什么,并指出树和二叉树的主要区别。27 一棵高度为 h 的满尼叉树有如下性质:根据结点所在层次为 0;第
8、h 层上的结点都是叶子结点;其余各层上每个结点都有 k 棵非空子树,如果按层次自顶向下,同一层自左向右,顺序从 1 开始对全部结点进行编号,试问:(1)各层的结点个数是多少?(2)编号为 i 的结点的双亲结点 (若存在) 的编号是多少?(3)编号为 i 的结点的第 m 个孩子结点(若存在) 的编号是多少 ?(4)编号为 i 的结点有右兄弟的条件是什么 ?其右兄弟结点的编号是多少 ?28 证明任一结点个数为 n 的二叉树的高度至少为 O(log2n)。29 已知一棵满二叉树的结点个数为 2040 的素数,此二叉树的叶子结点有多少个?30 一棵共有 n 个结点的树,其中所有分支结点的度均为 K,求
9、该树中叶子结点的个数。31 若一棵树中有度数为 1m 的各种结点数为 n1, n2,n m(nm 表示度数为 m 的结点个数),请推导出该树中共有多少个叶子结点 n0 的公式。32 高度为 k 的完全二叉树至少有多少个叶结点?33 试证明,在具有 n(n1)个结点的 m 次树中,有 n(m 一 1)+1 个指针是空的。34 对于任何一棵非空的二叉树,假设叶子结点的个数为 n0,而次数为 2 的结点个数为 n2,请给出 n0 和 n2 之间所满足的关系式 n0=f(n2)。要求给出推导过程。35 试求有 n 个叶结点的非满的完全二叉树的高度。36 对于一个堆栈,若其入栈序列为 1,2,3,n,不
10、同的出入栈操作将产生不同的出栈序列。其出栈序列的个数正好等于结点个数为 n 的二叉树的个数,且与不同形态的二叉树一一对应。请简要叙述一种从堆栈输入(固定为 1,2,3,n)输出序列对应一种二叉树形态的方法,并以人栈序列 1,2,3(即 n=3)为例加以说明。37 如果给出了一个二叉树结点的前序序列和对称序序列,能否构造出此二叉树?若能,请证明之。若不能,请给出反例。如果给出了一个二叉树结点的前序序列和后序序列,能否构造出此二叉树?若能,请证明之。若不能,请给出反例。38 用一维数组存放的一棵完全二叉树:ABCDEFGHIJKL。请写出后序遍历该二叉树的访问结点序列。39 已知一棵二叉树的先序、
11、中序和后序序列如下,其中有部分空缺,请画出该二叉树。先序序列:_B C_ E F G_ I J K_中序序列:C B E D _G A J _H _L后序序列:_E _F D _J _L _H A40 对于二叉树 T 的两个结点 n1 和 n2,我们应该选择树 T 结点的前序、中序和后序中哪两个序列来判断结点 n1 必定是结点 n2 的祖先?试给出判断的方法。(不需证明判断方法的正确性)41 什么是前缀编码? 举例说明如何利用二叉树来设计二进制的前缀编码。42 如果一棵哈夫曼树 T 有 n0 个叶子结点,那么,树 T 有多少个结点?(要求给出求解过程)43 已知字符及其权值如下:A(6),B(
12、7),C(1) ,D(5) ,E(2),F(8) ,给出构造哈夫曼树和哈夫曼编码的过程,并计算带权路径长度。44 要求二叉树按二叉链表形式存储,编写算法实现:(1)建立二叉树的算法。(2)判别给定的二叉树是否是完全二叉树的算法。(完全二叉树的定义为:深度为 K,具有 N 个结点的二叉树的每个结点都与深度为 K 的满二叉树中编号从 1N 的结点一一对应。此题以此定义为准)45 假设以双亲表示法作树的存储结构,写出双亲表示的类型说明,并编写求给定的树的深度的算法。(注:已知树中的结点数)46 二叉树采用二叉链表存储:(1)编写计算整个二叉树高度的算法(二叉树的高度也叫二叉树的深度)。(2)编写计算
13、二叉树最大宽度的算法(二叉树的最大宽度是指二叉树所有层中结点个数的最大值)。47 已知一棵二叉树按顺序方式存储在数组 An中。设计算法,求出下标分别为 i和 j 的两个结点的最近的公共祖先结点的值。48 在二叉树中查找值为 x 的结点,试编写算法(用 C 语言)打印值为 x 的结点的所有祖先,假设值为 x 的结点不多于一个,最后试分析该算法的时间复杂度。树与二叉树模拟试卷 3 答案与解析一、单项选择题1 【正确答案】 D【试题解析】 此题考查的知识点是树的应用及遍历。用树表示表达式,前缀是前序遍历,中缀是中序遍历,后缀是后序遍历,本题就是已知中序遍历和后序遍历,求前序遍历的问题。按规则后缀最后
14、一个元素“一”是树的根结点,在中缀中“一”的左边(A+BC)为左子树,右边(DE)为右子树,据此再查后缀的倒数第二个元素“”,其为右子树的根,再到中缀中“”左 D 是左子树,右 E 是右子树,以此类推即可构造出该树,前序遍历序列即为所求。所以选择 D。【知识模块】 树与二叉树2 【正确答案】 D【试题解析】 此题考查的知识点是树的结点个数与分支数的关系。设 B 为分支数,N 为结点总数,则 B=N 一1,N=n 0+n1+n2+n3+n4,n 1+n2+n3+n4=8,B=41+22+31+41=15,所以 n0=8,应选 D。【知识模块】 树与二叉树3 【正确答案】 D【试题解析】 此题考查
15、的知识点是二叉树的定义与性质。在二叉树中没有分支的结点度数为 0,二叉树最大度数为 2,左右子树不可以任意交换,完全二叉树与满二叉树的区别就是完全二叉树最后一层结点不满,且若有一个结点应是左子树,所以应选 D。【知识模块】 树与二叉树4 【正确答案】 A【试题解析】 此题考查的知识点是二叉树与森林的转换。根据转换规则,森林中的第一棵树为二叉树的左子树,其余为右子树,所以应选 A。【知识模块】 树与二叉树5 【正确答案】 B【试题解析】 此题考查的知识点是二叉树的性质。n 0=n2+1,n 0=10+1=11,所以选B。【知识模块】 树与二叉树6 【正确答案】 C【试题解析】 此题考查的知识点是
16、树的结点个数与分支数的关系。设 B 为分支数,N 为结点总数,则 B=N 一 1,N=n 0+n1+n2+n3,已知n3+n2+n1=2+1+2=5,B=32+21+12=10,所以 n0=115=6,应选 C。【知识模块】 树与二叉树7 【正确答案】 D【试题解析】 此题考查的知识点是二叉树与森林的转换。根据转换规则,森林中的第一棵树为二叉树的左子树,其余为右子树,所以应选 D。【知识模块】 树与二叉树8 【正确答案】 D【试题解析】 由二叉树结点的公式:n=n 0+n1+n2=n0+n1+(n01)=2n0+n1=1,因为n=100l,所以 1002=2n0+n1,在完全二叉树树中,n 1
17、 只能取 0 或 1,在本题中只能取 0,故 n=501,因此选 D。【知识模块】 树与二叉树9 【正确答案】 D【试题解析】 此题考查的知识点是哈夫曼树的定义。没有特殊说明表示该树只有高度为 0 和 2 的结点,且满足 n0=n2+1,总数=n 0+n2,给定的权值个数 n 即为叶结点数,所以应选 D。【知识模块】 树与二叉树10 【正确答案】 C【试题解析】 此题考查的知识点是哈夫曼树的定义。哈夫曼树都是 m 叉正则树。可以这样计算:设分支节点数为 i,则总结点数=ixm+1(im 没有带根结点,所以加 1)又总结点数=i+n 两式相减就能得到 i=(n 一 1)(m 一 1)。应选 C。
18、【知识模块】 树与二叉树11 【正确答案】 C【试题解析】 此题考查的知识点是二叉树的性质。根据题意二叉树最高是单链树,高度为 1025,最矮为 h=logn+1,n=1025 ,h=11,应选 C。【知识模块】 树与二叉树12 【正确答案】 B【试题解析】 此题考查的知识点是二叉树的结点个数与高度的关系。根据题意当h=1 时,一个结点,h=2 时,最少 3 个,h=3 时,最少 5 个,最少结点为 2h一 1,应选 B。【知识模块】 树与二叉树13 【正确答案】 D【试题解析】 此题考查的知识点是二叉树的性质。根据题意二叉树最高是单链树,高度为 n,最矮为 h=1+log2n,所以不确定,应
19、选 D。【知识模块】 树与二叉树14 【正确答案】 C【试题解析】 此题考查的知识点是对四种遍历算法的理解。前序遍历是“根左右”;后序遍历是“左右根”;中序遍历是“左根右”;层序遍历是“从上到下从左到右”。后序遍历符合题意,所以选 C。【知识模块】 树与二叉树15 【正确答案】 B【试题解析】 此题考查的知识点是对前序遍历、中序遍历算法的理解。据题意,根为 A、B 或为左子树,或为右子树,中序遍历的序列前两个字符要么 AB,要么BA,所以选项 A、C、D 均错。应选选项 B,即为右单链树。【知识模块】 树与二叉树16 【正确答案】 B【知识模块】 树与二叉树17 【正确答案】 B【知识模块】
20、树与二叉树18 【正确答案】 C【试题解析】 此题考查的知识点是对后序遍历、前序遍历算法的理解。前序序列是“根左右”,后序序列是“左右根”,若要这两个序列相反,只有单支树,所以本题的选项 A 和选项 B 均对,单支树的特点是只有一个叶子结点,故选项 C 是最合适的,故选 C。选项 A 或选项 B 都不全。【知识模块】 树与二叉树19 【正确答案】 B【试题解析】 此题考查的知识点是对二叉树遍历算法的理解。前序序列是“根左右”,后序序列是“左右根”,中序序列是“左根右”,所以叶结点顺序不变,应选B。【知识模块】 树与二叉树20 【正确答案】 C【知识模块】 树与二叉树21 【正确答案】 D【试题
21、解析】 此题考查的知识点是线索二叉树的定义。根据二叉树线索化的概念,其先序序列中的第一个为根结点,最后一个结点为其最右下的叶结点。左子树为空的二叉树的根结点的左线索为空(无前驱),先序序列的最后结点的右线索为空(无后继),共 2 个空链域,应选 D。【知识模块】 树与二叉树22 【正确答案】 B【试题解析】 此题考查的知识点是线索二叉树的定义。根据二叉树线索化的概念,其先序序列中的第一个为根结点,最后一个结点为其最右下的叶结点。因为其左、右子树都不为空,所以该结点无空指针域;而对最后一个结点,该节点为叶子结点,即左、右子树都为空,那么该结点在先序序列中必然有一个前驱,因此该结点就只有一个空指针
22、域。共 1 个空链域,应选 B。【知识模块】 树与二叉树23 【正确答案】 C【试题解析】 后序线索二叉树仍需要栈的支持。因后序遍历先访问子树,后访问根,本质上要求运行栈中存放祖先信息,故即使对二叉树进行了后序线索化,仍然不能脱离栈的支持独立遍历。而前序线索和中序线索不用。所以应选 C。【知识模块】 树与二叉树24 【正确答案】 C【试题解析】 此题考查的知识点是线索二叉树的定义。根据二叉树线索化的概念,只有空链才是线索,n 个结点有 n 一 1 个实链,2n 个链,空链数为 n+1,所以有n+1 个线索。应选 C。【知识模块】 树与二叉树25 【正确答案】 B【试题解析】 此题考查的知识点是
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 考研 试卷 二叉 模拟 答案 解析 DOC
