ImageVerifierCode 换一换
格式:DOC , 页数:17 ,大小:100KB ,
资源ID:844733      下载积分:2000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-844733.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文([考研类试卷]计算机专业基础综合(数据结构)模拟试卷3及答案与解析.doc)为本站会员(bowdiet140)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

[考研类试卷]计算机专业基础综合(数据结构)模拟试卷3及答案与解析.doc

1、计算机专业基础综合(数据结构)模拟试卷 3 及答案与解析一、单项选择题1-40 小题,每小题 2 分,共 80 分。下列每题给出的四个选项中,只有一个选项是最符合题目要求的。1 在下面关于树的相关概念的叙述中,正确的是( )。(A)只有一个结点的二叉树的度为 1(B)二叉树的度一定为 2(C)二叉树的左右子树可任意交换(D)深度为 K 的完全二叉树的结点个数小于或等于深度相同的满二叉树2 已知一算术表达式的中缀形式为 A+B*C-DE,后缀形式为 ABC*+DE一,其前缀形式为( ) 。(A)一 A+B*CDE(B)一 A+B*CDE(C) -+*ABCDE(D)-+A*BC DE3 算术表达

2、式 a+b*(c+d e)转为后缀表达式后为( ) 。(A)ab+cde*(B) abcde+*+(C) abcde*+(D)abcde* +4 某二叉树的先序遍历序列为 IJKLMNO,中序遍历序列为 JLKINMO,则后序遍历序列是( )。(A)JLKMNOI(B) LKNJOMI(C) LKJNOMI(D)LKNOJMI5 设森林 F 对应的二叉树为 B,它有 m 个结点,B 的根为 P,P 的右子树结点个数为 n,森林 F 中第一棵树的结点个数是 ( )。(A)m-n(B) m-n-1(C) n+1(D)条件不足,无法确定6 二叉树若用顺序方法存储,则下列四种算法中运算时间复杂度最小的

3、是( )。(A)先序遍历二叉树(B)判断两个指定位置的结点是否在同一层上(C)层次遍历二叉树(D)根据结点的值查找其存储位置7 设某二叉树中只有度为 0 和度为 2 的结点,如果此二叉树的高度为 100,那么此二叉树中所包含的结点数最少为( )。(A)188(B) 200(C) 199(D)2018 树是结点的有限集合,一棵树中有( )根结点。(A)有 0 个或 1 个(B)有 0 个或多个(C)有且只有一个(D)有 1 个或 1 个以上9 下列二叉排序树中,满足平衡二叉树定义的是( )。10 把树的根结点的层数定义为 1,其他结点的层数等于其父结点所在层数加上 I。设 T 是一棵二叉树,K

4、i 和 Kj 是 T 中子结点数小于 2 的结点中的任意两个,它们所在的层数分别为 Ki 和 Kj,当关系式|K i 一 Kj|1一定成立时,则称 T 为一棵( ) 。(A)满二叉树(B)二叉查找树(C)平衡二叉树(D)完全二叉树11 设森林 F 中有三棵树,第一、第二、第三棵树的结点个数分别为 M1、M 2 和M3。与森林 F 对应的二叉树根结点的右子树上的结点个数是( )。(A)M 1(B) M1+M2(C) M3(D)M 2+M312 若一棵二叉树具有 10 个度为 2 的结点,5 个度为 1 的结点,则度为 0 的结点个数是( )。(A)10(B) 11(C) 16(D)不确定13 具

5、有 10 个叶结点的二叉树中有( )个度为 2 的结点。(A)8(B) 9(C) 10(D)1114 在一棵度为 3 的树中,度为 3 的结点数为 2 个,度为 2 的结点数为 1 个,度为1 的结点数为 2 个,则度为 O 的结点数为( )个。(A)4(B) 5(C) 6(D)715 已知一棵二叉树,共有 n 个结点,那么此二叉树的高度为( )。(A)nlog 2n(B) log2n(C) log2n+1(D)不确定16 已知一棵二叉树,第 m 层上最多含有结点数为 ( )。(A)2 m(B) 2m-1 一 1(C) 2m-1(D)2 m-117 有关二叉树下列说法正确的是( )。(A)二叉

6、树就是度为 2 的树(B)一棵二叉树的度可以小于 2(C)二叉树中至少有一个结点的度为 2(D)二叉树中任何一个结点的度都为 218 一棵二叉树的前序遍历序列为 ABCDEFG,它的中序遍历序列可能是( )。(A)CABDEFG(B) ABCDEFG(C) DACEFBG(D)BAECFDG19 已知一个二叉树有 1025 个结点,那么由此推断二叉树的高 h 为( )。(A)11(B) 10(C) 111025(D)10102420 一棵完全二叉树,共有 n 个结点,那么,其叶结点数共有( )个。(A)n2(B) n(C) (n-1) 2(D)(n+1) 221 ( )的遍历仍需要栈的支持。(

7、A)前序线索树(B)中序线索树(C)后序线索树(D)中序线索树和前序线索树22 已知一棵二叉树高度为 h,在此二叉树中只有度为 0 和度为 2 的结点,那么这棵二叉树的结点个数最少为( )。(A)2h(B) 2h 一 1(C) 2h+1(D)h+1二、综合应用题41-47 小题,共 70 分。23 已知一个二叉树,用二叉链表形式存储,给出此二叉树建立过程算法(可不描述结构体)。24 判别给定的二叉树是否是完全二叉树,并给出设计的算法(可不描述结构体)。25 以孩子一兄弟表示法存储的森林的叶子结点数(要求描述结构)。26 已知一棵二叉树的前序序列为:A,B,D,G,J ,E ,H ,C,F,I,

8、K,L ;中序序列为:D,J,G,B,E,H,A,C,K,I,L,F。(1)写出该二又树的后序序列。(2)画出该二叉树。(3)求该二叉树的高度以及该二叉树中度为 2、1、0 的结点个数。27 有 n 个结点的二叉树,已知叶结点个数为 n0。 (1)写出求度为 1 的结点的个数的n1 的计算公式。 (2)若此树是深度为 k 的完全二叉树,写出 n 为最小的公式。 (3)若二叉树中仅有度为 0 和度为 2 的结点,写出求该二叉树结点个数 n 的公式。28 已知一棵树的结点表示如下,其中各兄弟结点是依次出现的,画出对应的二叉树。29 在一棵表示有序集 S 的二叉搜索树 (binary search

9、tree)中,任意一条从根到叶结点的路径将 S 分为 3 部分:在该路径左边结点中的元素组成的集合 S1;在该路径上的结点中的元素组成的集合 S2;在该路径右边结点中的元素组成的集合S3。S=S 1S2S3。若对于任意的 aS1,b S2,c S3,是否总有 abc?为什么?计算机专业基础综合(数据结构)模拟试卷 3 答案与解析一、单项选择题1-40 小题,每小题 2 分,共 80 分。下列每题给出的四个选项中,只有一个选项是最符合题目要求的。1 【正确答案】 D【试题解析】 只有一个结点的二叉树的度为零。二叉树的度可以为 0、1、2:二叉树的左右子树不能任意交换。【知识模块】 数据结构2 【

10、正确答案】 D【试题解析】 根据题目给出的中缀和后缀表达式可以得到其算术表达式为:(A+B*C)一 DE,前缀表达式:-+A*BCDE。【知识模块】 数据结构3 【正确答案】 B【试题解析】 根据表达式 a+b*(c+de)可知其后缀表达式为 abcde+*+。【知识模块】 数据结构4 【正确答案】 C【试题解析】 由先序和中序遍历序列确定一棵二叉树,再给出这棵二叉树的后序遍历序列。 由此图可以确认后序遍历的序列为LKJNOMI。【知识模块】 数据结构5 【正确答案】 A【试题解析】 F 对应的二叉树共有 m 个结点,右子树上 n 个,左子树上有(m 一n 一 1)个,第一株树包括根和左子树,

11、共(m 一 n)个。【知识模块】 数据结构6 【正确答案】 B【试题解析】 选项 A、C、D 运算的时间复杂度都是 O(n),而选项 B 的运算的时间复杂度为 O(1),因为对于指定位置 p 和 q 的两个结点,判断是否在同一层上,只需判断两者log 2p=log2q是否成立。【知识模块】 数据结构7 【正确答案】 C【试题解析】 除根结点层只有 1 个结点外,其他各层均有两个结点,结点总数=2(100 一 1)+1=199。【知识模块】 数据结构8 【正确答案】 C【试题解析】 根据树的基本定义可知,每个树只能有且只有一个根结点。【知识模块】 数据结构9 【正确答案】 B【试题解析】 考查平

12、衡二叉树的定义。根据平衡二叉树的定义有,任意结点的左右子树高度差的绝对值不超过 1。而其余三个选项均可以找到不符合的结点。【知识模块】 数据结构10 【正确答案】 C【试题解析】 此题干的叙述符合平衡二叉树的定义。【知识模块】 数据结构11 【正确答案】 D【试题解析】 森林转换成对应的二叉树,第一棵树的根结点作为此二叉树的根结点,第一棵树除根结点外其他结点时此二叉树的左子树。二叉树的右子树为第二棵树和第二棵树构成的,因此结点数为 M2+M3。【知识模块】 数据结构12 【正确答案】 B【试题解析】 根据二叉树的性质可知,度为 0 的结点个数比度为 2 结点个数多一个,即 n0=n2+1。【知

13、识模块】 数据结构13 【正确答案】 B【试题解析】 根据二叉树的性质 n0=n2+1,可知度为 2 的结点个数为 9。【知识模块】 数据结构14 【正确答案】 C【试题解析】 一棵度为 3 的树,总结点数 n=n0+n1+n2+n3,而总分支总数为n00+n12+n21+n32,由于分支总数加 1 为结点总数,可得出 n0=6。【知识模块】 数据结构15 【正确答案】 D【试题解析】 已知一棵二叉树共有 n 个结点,但二叉树的形式没有给出,因此,二叉树的高度不能确定。【知识模块】 数据结构16 【正确答案】 C【试题解析】 根据二叉树的性质,二叉树的第 m 层上最多有 2m-1。【知识模块】

14、 数据结构17 【正确答案】 B【试题解析】 本题考查二叉树的概念。【知识模块】 数据结构18 【正确答案】 B【试题解析】 由题可得 A 为根结点,并且 B 为 A 的孩子结点。选项 A,C 应为A 的左孩子,其前序序列应为 AC。选项 B,当 B 为 A 的右孩子,C 为 B 的右孩子时,满足题目要求。选项 C,类似选项 A,其前序序列应为 AD。选项D,B 为 A 的左孩子,C 为 A 的右子树的根,E 为 C 的左子树,FDG 为 C 的右子树,其前序序列应为 ABEC。【知识模块】 数据结构19 【正确答案】 C【试题解析】 右完全二叉树中 10252 10,即最少需要 11 层,最

15、多需要有 1025 层。【知识模块】 数据结构20 【正确答案】 D【试题解析】 此问题可以利用二叉树及完全二叉树的性质来求解。设 i、j 、k 分别为度为 0、1、2 的结点数目,则 n=i+j+k。根据二叉树的性质有 i=k+1,即 k=i 一 1,代入上式,得 n=2i+j1,即 i=(n-j+1)2。由于完全二又树中最多只有一个度为 1 的结点,同时考虑到 i 为整数,(1)当 j=0 时,此时 n=i+k=2k+1 为奇数,则 i=(n+1)2;(2)当 j=1 时,此时 n=i+k+1=2k+2 为偶数,则 i=(n+1)2 向下取整。所以选 D。【知识模块】 数据结构21 【正确

16、答案】 C【试题解析】 由于后序遍历先访问子树后访问根结点,从本质上要求运行栈中存放祖先的信息,即使对二叉树进行后序线索化,仍然不能脱离栈的支持对此二叉树进行遍历。【知识模块】 数据结构22 【正确答案】 B【知识模块】 数据结构二、综合应用题41-47 小题,共 70 分。23 【正确答案】 二叉树是递归定义的,以递归方式建立最简单。二叉树建立过程如下:BiTree Creat() 建立二叉树的二叉链表形式的存储结构ElemType x:BiTree bt;scanf(”d” ,&x) ; 本题假定结点数据域为整型if(x=0)bt=null;else if(x0)bt=(BiNode*)m

17、alloc(sizeof(BiNode);bt 一data=x :bt 一lchild=Creat();bt 一rchild=Creat():else error(”输入错误”);return(bt);结束 BiTree【知识模块】 数据结构24 【正确答案】 判断此二又树是否为完全二叉树的算法设计如下:int JudgeComplete(BiTree bt)判断二叉树是否是完全二叉树,如是,返回 1;否则,返回 0int tag=0;BiTree P=bt,Q : Q 是队列,元素是二叉树结点指针,容量足够大if(P=null)return 1:QueueInit(Q);Queueln(Q,

18、P); 初始化队列,根结点指针入队while(!QueueEmpty(Q)P=QueueOut(Q): 出队if(p 一lchild&!tag)QueueIn(Q ,P 一lchild); 左孩子入队elseif(P 一lehild)retum 0: 前边已有结点为空,本结点不空else tag=1; 首次出现结点为空if(p 一rchild&!tag)Queueln(Q ,P 一rchild); 右孩子入队else if(p 一 rchild)return 0;else tag=1: whilereturn 1; JudgeComplete【知识模块】 数据结构25 【正确答案】 当森林(树

19、)以孩子兄弟表示法存储时,若结点没有孩子(fch=null),则它必是叶子,总的叶子结点个数是孩子子树(fch)上的叶子数和兄弟(nsib)子树上叶结点个数之和。typedef struct nodeelemType data; 数据域struct node *fch,*nsib; 孩子与兄弟域*Tree;int Leaves(Tree t) 计算以孩子一兄弟表示法存储的森林的叶子数if(t)if(t 一fch=:null) 若结点无孩子,则该结点必是叶子return(1+Leaves(t-nsib); 返回叶子结点和其兄弟子树中的叶子结点数else return(Leaves(t-fch)+

20、Leaves(t-nsib); 孩子子树和兄弟子树中叶子数之和【知识模块】 数据结构26 【正确答案】 此题只需从前序序列、中序序列得到唯一确定的二叉树即可。(1)J,G,D,H,E,B,K,L,I,F,C,A。(2)二叉树的形式如下图所示:(3)高度是 5,度为 0 的结点个数为 4,度为 1 的结点个数为 5,度为 2 的结点个数为 3。【知识模块】 数据结构27 【正确答案】 (1)设度为 2 的结点个数为 n2,则 n=n0+n1+n2。由二叉树的性质n0=n2+1,n=2n 0+n1 一 1,所以度为 1 的结点的个数 n1=n+1 一 2n0; (2)当树是深度为 k 的完全二叉树

21、时,n 的最小值 min(n)=2k-1。 (3) 当二叉树中只有度为 0 和度为2 的结点时,n=2n 0 一 1(其中 n 为树中的总结点数,n 0 为度为 0 的结点数目)。【知识模块】 数据结构28 【正确答案】 相应的树如下图所示: 树到二叉树的转换规则如下: (1)树的根结点为二叉树的根结点; (2)每个结点的第一个子结点(最左的子树) 作为该结点的左孩子; (3)每个结点的右孩子为在树中与该结点的左孩子邻近的兄弟,所有具有兄弟关系的结点用指针链接起来。 转换成二叉树如下图所示:【知识模块】 数据结构29 【正确答案】 不是。如下图所示的二叉搜索树:取从 4 到 12 的路径,则 S1=1,2,3,7,S2=4,8,10 ,12,S 3 为空集,取 S1 中的元素 7 和 S2 中的元素 4,令a=7,b=4,有 ab。则上述命题不成立。【知识模块】 数据结构

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1