[考研类试卷]计算机专业基础综合数据结构(树和二叉树)历年真题试卷汇编1及答案与解析.doc
《[考研类试卷]计算机专业基础综合数据结构(树和二叉树)历年真题试卷汇编1及答案与解析.doc》由会员分享,可在线阅读,更多相关《[考研类试卷]计算机专业基础综合数据结构(树和二叉树)历年真题试卷汇编1及答案与解析.doc(29页珍藏版)》请在麦多课文档分享上搜索。
1、计算机专业基础综合数据结构(树和二叉树)历年真题试卷汇编 1 及答案与解析一、单项选择题1 树是一种逻辑关系,表示数据元素之间存在的关系为_。【北京交通大学2007 年】(A)集合关系(B)一对一关系(C)一对多关系(D)多对多关系2 在一棵三元树中度为 3 的结点数为 2 个,度为 2 的结点数为 1 个,度为 1 的结点数为 2 个,则度为 0 的结点数为_个。【哈尔滨:业大学 2001 年】(A)4(B) 5(C) 6(D)73 设有一表示算术表达式的二叉树(见图 3-1),它所表示的算术表达式是_。【南京理工大学 1999 年】(A)A+B+C(D*E)+(FG)(B) (A*B+C)
2、(D*E)+(FG)(C) (A+B+C)(D*E+(F G)(D)A*B+CD*E+FG4 在下述结论中,正确的是_。【南京理工大学 1999 年】只有一个结点的二叉树的度为 0:二叉树的度为 2;二叉树的左右子树可任意交换:深度为 K 的完全二叉树的结点个数小于或等于深度相同的满二叉树。(A)(B) (C) (D)5 若一棵二叉树具有 10 个度为 2 的结点,5 个度为 1 的结点,则度为 0 的结点个数是_。【北京工商大学 2001 年】(A)9(B) 11(C) 15(D)不确定6 具有 10 个叶结点的二叉树中有_个度为 2 的结点。【北京航空航天大学 2000年】(A)8(B)
3、9(C) 10(D)117 一棵完全二叉树上有 1001 个结点,其中叶_了结点的个数是_。【西安交通大学 1996 年】(A)250(B) 500(C) 254(D)505(E)以上答案都不对8 若一棵深度为 6 的完全二叉树的第 6 层有 3 个叶子结点,则该二叉树共有个叶了结点。【北京航空航天大学 2003 年】(A)17(B) 18(C) 19(D)209 有关二叉树下列说法正确的是_。【南京理工大学 2000 年】(A)二叉树的度为 2(B)一棵二叉树的度可以小于 2(C)二叉树中至少有一个结点的度为 2(D)二又树中任何一个结点的度都为 210 二叉树的第 i 层上最多含有结点数为
4、_。【北京理工大学 2001 年】(A)2 i(B) 2i-1 一 1(C) 2i-1(D)2 i 一 111 当结点数目一定时,具有最小深度的二又树是_。【北京航空航天大学 2005年】(A)满二叉树(B)完全二叉树(C)线索二叉树(D)二叉排序树12 一棵具有 n 个结点的完全二又树的树高度(深度)是_。【南京理工大学 1996年】(A)log 2n+1(B) log2n+1(C) log2n(D)log 2n 一 113 一棵深度为 4 的完全二叉树,最少有_个结点。【华南理工大学 2005 年】(A)4(B) 8(C) 15(D)614 一棵树高为 k 的完全二叉树至少有_个结点。【南
5、京理工大学 1998 年】(A)2 k1(B) 2k-1 一 1(C) 2k-1(D)2 k15 有 n 个结点的二叉树的深度最小值是_。【华中科技大学 2006 年】(A)log 2(n)(B) log2(n+1)(C) log2(n+1)(D)log 2(n)16 在一棵高度为 k 的满二叉树中,结点总数为_。【北京工商大学 2001 年】(A)2 k-1(B) 2k(C) 2k 一 1(D)log2 k+117 一棵深度为 7 的满二叉树共有_个非终端结点。【北京邮电大学 2007 年】(A)31(B) 63(C) 127(D)25518 有 n 个结点,并且高度为 n 的二叉树的数目为
6、_。【华中科技大学 2007 年】(A)log 2n(B) n2(C) n(D)2 n-119 下列判断中_是正确的。【华南理工大学 2006 年】(A)深度为 k 的二叉树最多有 2k-1 个结点(k1),最少有 k 个结点(B)二叉树中不存在度大于 2 的结点(C)对二叉树遍历是指先序、中序或后序遍历中的一种(D)构造线索二叉树是为能方便找到每个结点的双亲20 以下说法中_是正确的。【华南理工大学 2006 年】(A)完全二叉树中,叶结点的双亲的左兄弟(如果存在)一定不是叶结点(B)任何一棵二叉树,终端结点数为度为 2 的结点数减 1(C)二叉树不适合用顺序结构存储(D)结点按层序编号的二
7、叉树,第 i 个结点的左孩子(如果存在)的编号为 2i21 利用二叉链表存储树,则根结点的右指针是_。【青岛大学 2001 年】(A)指向最左孩子(B)指向最右孩子(C)空(D)非空22 当一棵有 n 个结点的二叉树按层次从上到下,同层次从左到右将数据存放在一维数组 AL,n中时,数组中第 i 个结点的左孩子为 _。【南京理工大学 1999 年】(A)A2i(2in)(B) A2i+1(2i+1n)(C) Ai2(D)无法确定23 一棵有 n 个结点的二叉树,按层次从上到下,同一层从左到右顺序存储在一维数组 ALn中,则二又树中第 i(i 从 1 开始用上述方法编号 )个结点的右孩予在数组 A
8、 中的位置是_。【南京理工大学 2000 年】(A)A2i(2in)(B) A2i+1(2i+1n)(C) Ai-2(D)条件不充分,无法确定24 若二叉树采用二叉链表存储结构,要交换其所有分支结点左、右子树的位置,利用_遍历方法最合适。【北京航空航天大学 1999 年】(A)前序(B)中序(C)后序(D)按层次25 树的后根遍历序列等同于该树对应的二叉树的_。【湖南大学 2008 年】(A)先序序列(B)中序序列(C)后序序列(D)层次遍历26 已知某完全二叉树采用顺序存储结构,结点数据信息的存放顺序依次为ABCDEFGH,该完全二叉树的后序遍历序列为_。【北京航空航天大学 2002 年】(
9、A)HDEBFGCA(B) HEDBFGCA(C) HDEBAFGC(D)HDEFGBCA二、综合题27 假设一个仅包含二元运算符的算术表达式以链表形式存储在二叉树 BT 中,写出计算该算术表达式值的算法。【东北大学 2000 年】28 假定用两个一维数组 LN和 RN作为有 N 个结点 1,2,N 的二叉树的存储结构。Li和 Rj分别指示结点 i 的左儿子和右儿子,Li=0(Ri=0)表示 i 的左(右)儿子为空。试写一个算法,由 L 和 R 建立一个一维数组 Tn,使 Ti存放结点i 的父亲;然后再写一个判别结点 U 是否为结点 V 的后代的算法。【哈尔滨工业大学 1999 年】29 已知
10、一棵二叉树按顺序方式存储在数组 A1,n中。设计算法,求出下标分别为 i 和 j 的两个结点的最近的公共祖先结点的值。【武汉大学 2000 年】30 有 n 个结点的完全二叉树存放在一维数组 A1,n中,试据此建立一棵用二叉链表表示的二叉树,根由 tree 指向。【南京理工大学 1998 年】31 已知深度为 h 的二叉树采用顺序存储结构_已存放于数组 BT12 h 一 1中,请写一非递归算法,产生该二叉树的二叉链表结构。设二叉链表中链结点的构造为(1ehild,data,rehild),根结点所在链结点的指针由 T 给出。【北京航空航天大学2007 年】32 编写递归算法,依据树的双亲表示法
11、及其根结点创建树的孩子一兄弟链表存储结构。【清华大学 1995 年】33 编程,判断一棵二叉链表表示的二又树是否是完全二叉树。【南京航空航天大学 2001 年】34 二叉树采用二叉链表存储。1)编写计算整个二叉树高度的算法(二叉树的高度也称为二叉树的深度)。2) 编写计算二叉树最大宽度的算法(二叉树的最大宽度是指二叉树所有层中结点个数的最大值)。【西北大学 2001 年】35 在二叉树中查找值为 x 的结点,试编写算法(用 c 语言)打印值为 x 的结点的所有祖先,假设值为 x 的结点不多于一个。【上海交通大学 1998 年】36 设一棵完全二叉树使用顺序存储结构存放在数组 btL,n中,请写
12、出进行非递归的前序遍历算法。【西安电子科技大学 1998 年】37 设计算法返回二叉树 T 的先序序列的最后一个结点的指针,要求采用非递归形式,且不允许用栈。【合肥工业大学】999 年】38 对于二叉树的链接实现,完成非递归的中序遍历过程。【中山大学 1999 年】39 试给出二叉树的自下而上、自右而左的层次遍历算法。【吉林大学 2001 年】40 已知一二叉树中结点的左、右孩子为 left 和 right,p 指向二叉树的某一结点。请用 C 语言编写一个非递归函数 postfirst(p),求 p 所对应子树的第一个后序遍历结点。【浙江大学 1998 年】41 请设计一个算法,要求该算法把二
13、叉树的叶子结点按从左到右的顺序连成一个单链表,表头指针为 head。二叉树按二叉链表方式存储,链接时用叶子结点的右指针域来存放单链表指针。分析你的算法的时、空复杂度。【华南师范大学 1999年】42 设两棵二叉树的根结点地址分别为 p 和 q,采用二叉链表的形式存储这两棵树上所有的结点。请编写程序,判断它们是否相似。【上海交通大学 2000 年】【北京航空航天大学 2005 年】计算机专业基础综合数据结构(树和二叉树)历年真题试卷汇编 1 答案与解析一、单项选择题1 【正确答案】 C【试题解析】 考查树的概念。树是一种特殊的数据结构,表示元素之间的一对多的关系,例如:一个父结点可能有多个儿子结
14、点,而一个儿子结点一定只有一个父结点。【知识模块】 树和二叉树2 【正确答案】 C【试题解析】 考查树结点数与度的相关计算。树中结点数等于所有结点度数和加1。所以,2 十 1+2+X=2.3+12 十 2.1+x0+1,解得 X=6。【知识模块】 树和二叉树3 【正确答案】 C【试题解析】 考查二又树表示算术表达式的方法。叶子结点表示运算值,非叶子结点表示运算符,运算符的子结点或子树即该运算符的运算值。【知识模块】 树和二叉树4 【正确答案】 D【试题解析】 考查二叉树的相关概念。二叉树的度最多为 2,可以比 2 小。二叉树的左有了树是有顺序的,不可随意交换。完全二叉树从最底层右边起比层数相同
15、的满二叉树连续缺失若干个叶结点。【知识模块】 树和二叉树5 【正确答案】 B【试题解析】 考查二叉树结点数和度的关系。二叉树结点度数最多为 2。设度为0 的结点个数为 x,根据“树中结点数等于所有结点度数和加 1”,可得10+5+X=10*2+5+1+X*0+1,解得 x=11。【知识模块】 树和二叉树6 【正确答案】 B【试题解析】 考查二叉树结点数和度的关系。根据“非空二叉树卜叶子结点数等于度为 2 的结点数加 1”,所以选 B。【知识模块】 树和二叉树7 【正确答案】 E【试题解析】 考查完全二叉树叶子结点数的计算。对完全二叉树按从上到下、从左到右的顺序进行编号 1,2,N,第 1001
16、 个结点的父结点编号为 10012=500,此后的所有结点都没有孩子结点,即为叶子结点。叶子结点数为 1001-500=501。【知识模块】 树和二叉树8 【正确答案】 A【试题解析】 考查完全二叉树叶子结点数的计算。第 5 层共有结点 24 个,即 16个叶子结点。第 6 层最左边有 3 个叶子结点,对应第 5 层最左边两个结点,所以第5 层右边有 162=14 个叶子结点,加上第 6 层 3 个,共 17 个叶予结点。【知识模块】 树和二叉树9 【正确答案】 B【试题解析】 考查二叉树的相关概念。二叉树的度至多为 2,可以小于 2。当二叉树只有一个结点时,度为 0。【知识模块】 树和二叉树
17、10 【正确答案】 C【试题解析】 考查二叉树一层结点最大数。第 i 层最多含有结点数为 2i-1【知识模块】 树和二叉树11 【正确答案】 B【试题解析】 考查最小深度的二又树。当结点组成完全二叉树的时候,树的深度最小。满二叉树是完全二叉树的特殊情况。【知识模块】 树和二叉树12 【正确答案】 A【试题解析】 考查完全二叉树高度的计算。具有 n 个结点的完全二叉树的高度为10g2(n+1)或log 2n+1。【知识模块】 树和二叉树13 【正确答案】 B【试题解析】 考查完全二叉树的结点数。深度为 4 的完全二叉树,前 3 层结点总数为 23 一 1=7。第 4 层只有一个结点时,完全二叉树
18、结点数最少。即 8 个。【知识模块】 树和二叉树14 【正确答案】 C【试题解析】 考查完全二叉树的结点数。【知识模块】 树和二叉树15 【正确答案】 C【试题解析】 考查二叉树深度最小值。当结点组成完全二叉树的时候,树的深度最小。【知识模块】 树和二叉树16 【正确答案】 C【试题解析】 考查满二叉树的结点数。考生只要记住公式即可。【知识模块】 树和二叉树17 【正确答案】 B【试题解析】 考查满二叉树非终端结点的计算。深度为 n 的满二叉树结点个数为2n-1,叶予结点个数为 2n-1,非终端结点个数为 2n-1-1。【知识模块】 树和二叉树18 【正确答案】 D【试题解析】 考查二叉树的树
19、形。由题可得,每层有一个结点,从根结点往下,每个结点都有作左孩子、右孩子两种情况,由概率知识可得,二叉树共有 2n-1 种树形。【知识模块】 树和二叉树19 【正确答案】 B【试题解析】 考查二叉树的各种性质。二叉树的遍历有各种不同的方法,比如层次遍历。引入线索二叉树是为了方便找到结点在某个遍历序列中的前驱和后继结点。【知识模块】 树和二叉树20 【正确答案】 A【试题解析】 考查二叉树的各种性质。非空二叉树卜叶子结点数等于度为 2 的结点数加 1,二叉树可以使用顺序结构存储。D 中性质只针对完全二叉树。【知识模块】 树和二叉树21 【正确答案】 C【试题解析】 考查二又链表存储树。根结点的右
20、指针为空。【知识模块】 树和二叉树22 【正确答案】 D【试题解析】 考查二叉树的顺序存储。完全二叉树时,第 i 个结点的左孩了编号为 2i,普通二叉树并无此规律。【知识模块】 树和二叉树23 【正确答案】 D【试题解析】 考查二叉树的顺序存储。完全二叉树时,第 i 个结点的右孩子编号为 2i+1,普通二叉树并无此规律。【知识模块】 树和二叉树24 【正确答案】 C【试题解析】 考查二叉树各种遍历顺序。要交换分支结点的左右子树,应该最后才访问分支结点。应采用后序遍历。【知识模块】 树和二叉树25 【正确答案】 B【试题解析】 考查树的遍历与二叉树遍历的对应。树和森林的遍历,可采用对应二叉树的遍
21、历算法来实现,见表 3-1。【知识模块】 树和二叉树26 【正确答案】 A【试题解析】 考查完全二叉树的存储和后序遍历序列。按照顺序结构建立二叉树,然后按照后序遍历顺序遍历该二叉树。【知识模块】 树和二叉树二、综合题27 【正确答案】 算法的基本设计思想:以二叉树表示算术表达式,根结点用于存储运算符。先分别求出左子树和右子树表示的子表达式的值,最后根据根结点的运算符的要求,计算出表达式的最后结果。算法的代码:typedef struct node(float val;char optr; 只取+ , 一, *, struct node *lchild, *rchildBiNode,*BiTre
22、e;float PostEval(BiTree bt) 以后序遍历算法求以二叉树表示的算术表达式的值float lv,rv;if(bt 一lchild=NULL bt 一rchild=NULL)return bt 一val; e1Selv=PostEval(bt-ichiid); 求左子树表示的子表达式的值rv=PostEval(bt-rchiid); 求右了树表示的子表达式的值switch(bt 一optr)Case+:valUe=lv+rv :break;Case一 :valUe=1Vrv:break;case*:valme=1v*rv:break;Case :valUe=1vrv:ret
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 考研 试卷 计算机专业 基础 综合 数据结构 二叉 历年 汇编 答案 解析 DOC
