[考研类试卷]计算机专业基础综合数据结构(树和二叉树)历年真题试卷汇编2及答案与解析.doc
《[考研类试卷]计算机专业基础综合数据结构(树和二叉树)历年真题试卷汇编2及答案与解析.doc》由会员分享,可在线阅读,更多相关《[考研类试卷]计算机专业基础综合数据结构(树和二叉树)历年真题试卷汇编2及答案与解析.doc(31页珍藏版)》请在麦多课文档分享上搜索。
1、计算机专业基础综合数据结构(树和二叉树)历年真题试卷汇编 2 及答案与解析一、单项选择题1 一棵二又树的前序遍历序列为 1234567,它的中序遍历序列可能是_。【北京工业大学 2001 年】(A)3124567(B) 1234567(C) 4135627(D)14365722 已知一棵二叉树的前序遍历结果为 123456,中序遍历结果为 321546,则后序遍历的结果为_。【哈尔滨工程大学 2001 年】(A)325641(B) 654321(C) 325461(D)不定3 己知某二叉树的后序遍历序列是 dabec,中序遍历序列是 debac,它的前序遍历序列是_。【山东大学 2001 年】
2、(A)acbed(B) decab(C) deabc(D)cedba4 某二叉树的先序序列和后序序列正好相反,则该二叉树一定是_。【北京交通大学 2005 年】(A)空或只有一个结点(B)高度等于其结点数(C)任一结点无左孩予(D)任一结点无右孩子5 某二叉树结点的中序序列为 BDAECF,后序序列为 DBEFCA,则该二叉树对应的森林包括_棵树。【中南大学 2003 年】(A)1(B) 2(C) 3(D)46 若唯一的确定一棵二叉树,只需要知道该二叉树的_。【北京交通大学 2004年】(A)先序序列(B)中序序列(C)中序和后序序列(D)先序和后序序列7 在二叉树结点的先序序列、中序序列和后
3、序序列中,所有叶子结点的先后顺序_。【北京交通大学 2001 年】(A)都不相同(B)完全相同(C)先序和中序相同,而与后序不同(D)中序和后序相同,而与先序不同8 引入二叉线索树的目的是_。【南京理工大学 1998 年】(A)加快查找结点的前驱或后继的速度(B)为了能在二叉树中方便地进行插入与删除(C)为了能方便地找到双亲(D)使二叉树的遍历结果唯一9 二叉树在线索化后,仍不能有效求解的问题是_。【北京交通大学 2003 年】(A)先序线索二叉树中求先序后继(B)中序线索二叉树中求中序后继(C)中序线索二叉树中求中序前驱(D)后序线索二叉树中求后序后继10 若 x 是二叉中序线索树中一个有左
4、孩子的结点,且 X 不为根,则 x 的前驱为_。【南京理工大学 1996 年】(A)X 的双亲(B) X 的右子树中最左结点(C) X 的左子树中最右结点(D)X 的左了树中最右叶结点11 n 个结点的线索二叉树上含有的线索数为_。【中山大学 1998 年】(A)2n(B) n-1(C) n+1(D)n12 _的遍历仍需要栈的支持。【中南大学 2001 年】(A)前序线索树(B)中序线索树(C)后序线索树(D)所有线索树13 在二叉排序树中进行查找的效率与_有关。【北京航空航天大学 2004 年】(A)二叉排序树的深度(B)二叉排序树的结点的个数(C)被查找结点的度(D)二叉排序树的存储结构1
5、4 对一棵二叉排序树进行_遍历得到的结点序列是个有序序列。【湖南大学2001 年】(A)前序(B)中序(C)后序(D)层次15 对于二叉排序树,下面的说法_是正确的。【华南理工大学 2006 年】(A)二叉排序树是动态树表,查找不成功时插入新结点时,会引起树的重新分裂和组合(B)对二叉排序树进行层次遍历可得到有序序列(C)用逐点插入法构造二叉排序树时,若先后插入的关键字有序,二叉排序树的深度最大(D)在二叉排序树中进行查找,关键字的比较次数不超过结点数的 1216 分别以下列序列构造二叉排序树,与用其他三个序列所构造的结果不同的是_。【合肥工业大学 2000 年】(A)(100 ,80,90,
6、60,120,110,130)(B) (100,120,110,130,80,60,90)(C) (100,60,80,90,120,110,130)(D)(100 ,80,60,90,120,130,110)17 设二叉排序树中关键字由 11000 的整数构成,现要查找关键字为 363 的结点,下述关键字序列中,不可能是在二叉排序树上查找的序列是_。【北京交通大学2005 年】(A)2,252,401,398,330,344,397,363(B) 924,220,911,244,898,258,362,363(C) 925,202,911,240,912,245,363(D)2,399,38
7、7,219,266,382,381,278, 36318 构造一棵具有 n 个结点的二叉排序树,最理想情况下的深度为_。【华中科技大学 2007 年】(A)n2(B) n(C) log2(n+1)(D)log 2(n+1)19 从空树开始,依次插入元素 52、26、14、32、71、60、93、58、24 和 41 后构成了一棵二叉排序树。在该树查找 60 要进行比较次数为_。【广东工业大学2003 年】(A)3(B) 4(C) 5(D)620 含有 20 个结点的平衡二叉树的最大深度为_。【北京交通大学 2004 年】(A)4(B) 5(C) 6(D)721 在平衡二叉树中插入一个结点后造成
8、了不平衡,设最低的不平衡结点为 A,并已知 A 的左孩子的平衡因子为 0、右孩子的平衡因子为 1,则应作_型调整以使其平衡。【北京交通大学 2005 年】(A)LL(B) LR(C) RL(D)RR22 已知一棵深度为 k 的平衡二叉树,其每个非叶子结点的平衡因子均为 0,则该树共有结点总数为_。【北京交通大学 2006 年】(A)2 k-1 一 1(B) 2k-1+1(C) 2k1(D)2 k 十 123 在下列存储形式中,哪一个不是树的存储形式?_。【北京交通大学 2001 年】(A)双亲表示法(B)孩子链表表示法(C)孩子兄弟表示法(D)顺序存储表示法24 设森林 F 对应的二叉树为 B
9、,它有 m 个结点,B 的根为 p,p 的右子树结点个数为 n,森林 F 中第一棵树的结点个数是 _。【南京理工大学 2000 年】(A)mn(B) mn 一 1(C) n+1(D)条件不足,无法确定25 森林 T=(T1,T2 ,Tm)转化为二叉树 BT 的过程为:若 m=0,则 BT 为空;若 m0,则_。【太原科技大学 2006 年】(A)将中间子树 Tmid(mid=(1 十 m)2)的根作为 BT 的根;将(T1,T2,Tmid1)转换为 BT 的左子树:将(Tmid 十,Tm)转换为 BT 的右子树(B)将子树 T1 的根作为 BT 的根;将 T1 的子树森林转换成 BT 的左子树
10、;将(T2,T3,Tm) 转换成 BT 的右子树(C)将子树 T1 的根作为 BT 的根;将 T1 的左子树森林转换成 BT 的左子树:将T1 的右子树森林转换为 BT 的右子树;其他依次类推(D)将森林 T 的根作为 BT 的根;将(T1,T2 ,Tm)转化为该根下的结点,得到一棵树,然后将这棵树再转化为二叉树 BT26 在有 n 个叶予结点的赫夫曼树中,非叶子结点的总数为_。【中南大学 2003年】(A)n-1(B) n(C) 2n 一 1(D)2n27 有 n 个叶子的赫夫曼树的结点总数为_。【青岛大学 2002 年】(A)不确定(B) 2n(C) 2n+1(D)2n128 一棵赫大曼树
11、共有 215 个结点,对其进行赫夫曼编码,共能得到_个不同的码字。【北京邮电大学 2005 年】(A)107(B) 108(C) 214(D)21529 下列编码中_不是前缀码。【湖南大学 2003 年】(A)00 ,01 ,10,11(B) 0,1,00,11(C) 0,10,110,111(D)10 ,110 ,1110,111130 给定整数集合3,5, 6,9,12 ,与之对应的赫夫曼树是 _。【华南理工大学 2007 年】(A)(B)(C)(D)二、综合题31 一棵二叉树以二叉链表来表示,求其指定的某一层 k(k1)上的叶予结点的个数。【上海大学 1999 年】32 设一棵二叉树中各
12、结点的值互不相同,其前序序列和中序序列分别存于两个一维数组 preLn 和 midL,n中,试遍写算法建立该二叉树的二叉链表。【南京航空航天大学 1999】33 已知一具有 n 个结点的二叉树的中序遍历序列与后序遍历序列分别存放于数组INL,n和 POSTLn中(设该二叉树各结点的数据值均不相同)。请写一建立该二叉树的二叉链表结构的非递归算法。该二叉链表的链结点结构为(lchild, data,rchild),其中 data 为数据域,lchild 与 rchild 分别为指向该结点左、右孩子的指针域(当孩子结点不存在时,相应指针域为空,用 NULL 表示)。【北京航空航天大学 2003 年】
13、34 写出中序线索二叉树的线索化过程(已知二叉树 T)。【山东大学 2000 年】35 已知一中序线索二叉树,写一算法完成对它的中序扫描。【山东大学 2001 年】36 编写程序段,利用中序全线索树求其中任意结点 p 的前序后继结点,结果仍用p 指出。设线索树不带头结点,其中序序列第一个结点的左标志和最后一个结点的右标志皆为 0(非线索) ,对应指针皆为空。【北京工业大学 2000 年】37 写出在中序线索二叉树里查找指定结点在后序下的前驱结点的算法。【河海大学 1998 年】38 已知中序线索二叉树 T 的右予树不空。设计算法,将 s 所指的结点作为 T 的右子树中的一个叶子结点插入进去,并
14、使之成为 T 的右子树 (中序序列)的第一个结点(同时要修改相应的线索关系)。【合肥工业大学 2001 年】39 二叉树排序方法如下:1)将第一个数据放在树根。2)将随后读入的数据与树根中的数据相比较,若比树根大,则置于右子树,反之则置于左子树,建成一棵二叉树。3) 利用中序遍历打印排序结果。4)试用 PASCAL 或 C 语言编写二叉树的排序程序。【浙江大学 1995 年】40 编程求以孩予一兄弟表示法存储的森林的叶了结点数。要求描述结构。【北京工业大学 2000 年】【北京交通大学 2007】41 以孩予一兄弟链表为存储结构,请设计递归和非递归算法求树的深度。【北方交通大学 1999 年】
15、42 将由图 3-2 所示的三棵树组成的森林转换为二叉树。(只要求给出转换结果)【南京航空航天大学 1998 年】43 已知一个森林的先序序列和后序序列如下,请构造出该森林。1)先序序列:ABCDEFGHIJKLMNO。2)后序序列:CDEBFHIJGAMLONK。【合肥工业大学 2000 年】44 假定用于通信的电文仅有 8 个字母 C1,C2,C8 组成,各个字母在电文中出现的频率分别为 5,25,3,6,10,11,36,4,试为这 8 个字母设计赫夫曼编码。【上海海事大学 1998 年】45 给定集合15,3,14, 2,6,9,16,17 。1)用口表示外部结点,用。表示内部结点,构
16、造相应的 Huffman 树。2)计算它的带权路径长度。3)写出它的 Huffman 编码。【山东大学 1998 年】计算机专业基础综合数据结构(树和二叉树)历年真题试卷汇编 2 答案与解析一、单项选择题1 【正确答案】 B【试题解析】 考杏二叉树的遍历序列。由题可得 1 为根结点,并且 2 为 1 的孩子结点。对于 A 选项,3 应为 1 的左孩子,前序遍历序列应为 13,不符。对于 B选项,当 2 为 1 的右孩子,3 为 2 的右孩子时满足题目要求。对于 C 选项,类似 A 选项,前序遍历序列应该为 14。对于 D 选项,若 1 为中序第一个字母,则所有结点在 1 的右子树中,右子树根结
17、点为 2,而 34 在 2 的左子树中,567 在 2 的右子树中才可满足前序序列,与中序遍历序列不符。【知识模块】 树和二叉树2 【正确答案】 A【试题解析】 考查由二叉树前序遍历序列和中序遍历序列建造二叉树的方法。因为前序序列中 1 开头,所以根结点为 1。由中序序列可知 1 的左子树中含有 23,右子树中含有 456。再根据前序序列可知,2 为 3 的父结点,4 为 56 的父结点。又由中序序列可知 3 为 2 的左孩子,5 为 4 的左孩子,6 为 4 的右孩子。画出二叉树如图 33 所示,可知后序遍历的结果。【知识模块】 树和二叉树3 【正确答案】 D【试题解析】 考查由后序遍历序列
18、和中序遍历序列建立二叉树的方法。类似上题的方法,后序序列最后一个为根结点。所以 C 为根结点,根据中序序列得知 deba都在 c 的左子树内。然后由后序序列可知 e 为 c 左子树的根结点,由中序序列可知d 为 e 的左孩予,ba 为 e 的右子树。再次分析可知 a 为 b 的右孩子。过程如图 3-4所示。【知识模块】 树和二叉树4 【正确答案】 B【试题解析】 考查根据二叉树的遍历序列推导树形。由题可得,非空树的先序和后序相反,即“根左右”与“左右根”顺序相反,因此树只有根结点,或者根结点只有左子树或右子树,依此类推,其子树有同样的性质,任意结点只能有一个孩子,才能满足先序序列和后序序列正好
19、相反。树形应该为一个长链,所以选 B。【知识模块】 树和二叉树5 【正确答案】 C【试题解析】 考查根据遍历序列推导树形以及森林的二叉树表示。根据中序以及后序序列推导树形如图 35 所示。该二叉树表示一个有三棵树的森林,其根结点分别为 A、C、F。【知识模块】 树和二叉树6 【正确答案】 C【试题解析】 考查确定二叉树所需的序列。前序序列和中序序列或后序序列和中序序列可唯一确定一棵二叉树。由前序序列和后序序列不能唯一确定一棵二叉树。【知识模块】 树和二叉树7 【正确答案】 B【试题解析】 考查二叉树遍历中叶子结点的先后顺序。由于左子树的访问始终在右子树之前,所以不管采用何种遍历方式,所有叶子结
20、点被访问的前后顺序是不变的。【知识模块】 树和二叉树8 【正确答案】 A【试题解析】 考查引入二又线索树的目的。为充分利用二叉树的空链域,且加快查找结点的前驱或后继速度,故引入了二叉线索树。【知识模块】 树和二叉树9 【正确答案】 D【试题解析】 考查线索化不能解决的问题。后序线索二叉树中不能有效解决求后序后继的问题。【知识模块】 树和二叉树10 【正确答案】 C【试题解析】 考杳二叉树的中序线索化过程。二叉中序线索树中,某结点若有左孩子,则按照中序“左根右”的顺序,该结点的前驱结点为左子树中最右的一个结点。【知识模块】 树和二叉树11 【正确答案】 C【试题解析】 考查线索二叉树的线索数。n
21、 个结点共有链域指针 2n 个,其中,除根结点外,每一个结点都被一个指针指向。剩余的链域建立线索,共 2n(n1)=n+1 个线索。【知识模块】 树和二叉树12 【正确答案】 C【试题解析】 考查各种顺序遍历是否需要栈。不需要栈的支持仍可遍历则有:结点的左子树不为空时,它的前驱是其父结点或者左子树的结点;结点的右子树不为空时,它的后继是其父结点或者右子树的结点。显然,前序和中序线索树都满足这个条件,而后序线索树不满足。【知识模块】 树和二叉树13 【正确答案】 A【试题解析】 考查二叉排序树查找效率的决定因素。二叉排序树查找算法的平均查找长度,主要取决于树的高度。【知识模块】 树和二叉树14
22、【正确答案】 B【试题解析】 考查二叉排序树的性质。对二叉排序树进行中序遍历是可以得到一个有序序列的。【知识模块】 树和二叉树15 【正确答案】 C【试题解析】 考查二又排序树的相关性质。二叉排序树插入新结点时不会引起树的分裂组合。对二叉排序树进行中序遍历可得到有序序列。当插入的关键字有序时,二叉排序树会形成一个长链,此时深度最大。在此种情况下进行查找,有可能需要比较每个结点的关键字,超过结点数的 12。【知识模块】 树和二叉树16 【正确答案】 C【试题解析】 考查二叉排序树的构造过程。按照二又排序树的构造方法,不难得到 A、B、D 序列的构造结果相同。【知识模块】 树和二叉树17 【正确答
23、案】 C【试题解析】 考查二叉排序树的查找。在二叉排序树上查找时,先与根结点值进行比较,若相同,则查找结束,否则根据比较结果,沿着左子树或右子树向下继续查找。根据二叉排序树的定义,有左子树结点值根结点值右子树结点值。C 序列中,比较 911 关键字后,应转向其左子树比较 240,左子树中不应出现比 911 更大的数值,但是 240 竟有一个右孩子结点值为 912,所以不可能是正确的序列。【知识模块】 树和二叉树18 【正确答案】 D【试题解析】 考查二叉排序树的最小深度。当二叉排序树的叶子结点全部都在相邻的两层内时,深度最小。理想情况是从第一层到倒数第二层为满二叉树。类比完全二叉树,可得深度为
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 考研 试卷 计算机专业 基础 综合 数据结构 二叉 历年 汇编 答案 解析 DOC
