c++答案数据结构试卷及答案.pdf
《c++答案数据结构试卷及答案.pdf》由会员分享,可在线阅读,更多相关《c++答案数据结构试卷及答案.pdf(132页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 数据结构试卷及答案1 .算法分析的目的是()。A.找出数据结构的合理性 B.研究算法中输入和输出的关系C.分析算法的效率以求改进 D.分析算法的易懂性和文档性2 .()是具有相同特性数据元素的集合,是数据的子集。A.数据符号 B.数据对象 C.数据 D.数据结构3 .用链表表示线性表的优点是()。A.便于随机存取 B.花费的存储空间比顺序表少C.便于插入与删除 D.数据元素的物理顺序与逻辑顺序相同4 .输入序列为(A,B,C,D)不可能的输出有()oA.(A,B,C,D)B.(D,C,B,A)C.(A,C,D,B)D .(C,A,B,D)5 .在数组表示的循环队列中,f r o n t、r
2、e ar分别为队列的头、尾指针,max S iz e为数组的最大长度,队满的条件是()oA.f r o n t=max S iz e B.(r e ar+1 )%max S iz e=f r o n tC.r e ar=max S iz e D.r e ar=f r o n t6 .设有串 t=I a m a go o d s t u d e n t那么 S ub str(t,6,6)=(6A.stud e n t B.a go o d s C.go o d D.a go o d7 .设有一个对称矩阵A,采用压缩存储方式,以行序为主序存储all为第一个元素,其存储地址为1,每个元素占一个地址空
3、间,则a8 5地址为()oA.2 3 B.3 3 C.1 8 D.4 08 .已知广义表L S=(A,(B,C,D),E)运用he ad和tail函数,取出LS中原子b的运算()oA.Gethead(Gethead(LS)C.Gethead(Gethead(Gettail(LS)B.Gettail(Gethead(LS)D.Gethead(Gettail(LS)9.若已知一棵二叉树先序序列为ABCDEFG,中序序列为CBDAEGF,则其后序序列为()OA.CDBGFEA B.CDBFGEAC.CDBAGFE D.BCDAGFE10.下列存储形式中,()不是树的存储形式。A.双亲表示法 B.左子
4、女右兄弟表示法C.广义表表示法 D.顺序表示法11.对待排序的元素序列进行划分,将其分为左、右两个子序列,再对两个子序列施加同样的排序操作,直到子序列为空或只剩一个元素为止。这样的排序方法是()oA.直接选择排序 B.直接插入排序C.快速排序 D.起泡排序12.采用折半查找方法进行查找,数据文件应为(),且限于()oA.有序表顺序存储结构 B.有序表链式存储结构C.随机表顺序存储结构 D.随机表链式存储结构13.就平均查找速度而言,下列几种查找速度从慢至快的关系是()A.顺序折半哈希分块 B.顺序分块折半哈希C.分块折半哈希顺序 D.顺序哈希分块折半14.执行下面程序段时,执行S语句的次数为(
5、)for(int I=l;I=n;I+)for(int j=l;j d a t a);if(p-rc h il d!=NU LL)(3);s t a c k t o p =p-rc h il d;if(4)t o p+;(5);)(1)(2)(3)(4)(5)3.请在标号处填写合适的语句。完成下列程序。(每空1分,共5分)in t B in a ry _ S ea rc h(S _ T B L t b l,K E Y k x)/*在表t b l中查找关键码为k x的数据元素,若找到返回该元素在表中的位置,否则,返回0 */in t m id,fl a g=0;l o w=1 ;h ig h=l
6、 en g t h;w h il e(&!fl a g _)/*非空,进行比较测试*/m id=_ (2);if(k x t b l.el em m id .k ey)(4);el s e fl a g=(5);b rea k;)ret u rn fl a g;(1)(2)(3)(4)(5)4.下面是一个采用直接选择排序方法进行升序排序的函数,请在标号处填写合适的语句。(每空1分,共5分)程序:V o id s el et es o rt (in t A n ,in t n)(in t i,j,t,m in v a l,m in id x;fo r(i=l;i=n-l;i+)(m in v a
7、 l=A i+l ;(1)fo r(j=i+2;j 0(3)t o p+(4)p-l c h il d!=NU LL(5)s t a c k t o p =p-l c h iId3 (5 分,每空1 分)(1)Io w A j(3)m in v a l=A j(4)i!=j(5)A i+l =A m in id x 5 (1 0 分,不同答案,酌情得分)输入顶点和弧信息,建立其邻接表计算每个顶点的入度对其进行拓扑排序排序过程中求顶点的V e i将得到的拓扑序列进栈按逆拓扑序列求顶点的V I i计算每条弧的e i和l i,找出e i=l i的关键活动第2学 期 数据结构试 卷A一、选 择 题(本
8、 大 题 共1 5小题,每 题2分,共3 0分;答案填在下表内)1.从一个长度为1 0 0的顺序表中删除第3 0个元素时需向前移动 个元素A、7 0 B、7 1 C、6 9 D、3 02.在一个具有N个单元的顺序表中,假定以地址低端(即下标为1的单元)作为底,以t o p作为顶指针,则当做进栈处理时t o p变化为_ _ _ _ _ _0A、t o p 不变 B、t o p=0 C t o p=t o p-l D、t o p=t o p+l3 .从一个具有n个结点的单链表中查找其值等于x结点时,在查找成功情况下,则平均比较个结点。A、n B、n/2 C、(n-l)/2 D、(n+l)/24 .
9、在一个单链表中,若要删除p指针所指结点的后继结点,则执行A p-n ex t:p-n ex t=p-n ex t-n ex t;B、p-n ex t=p-n ex t-n ex t;C p=p-n ex t;D、p=p-n ex t-n ex t;5 .在一个链队列中,假 定f ro n t和rear分别为队首和队后指针,则进行插入S结点的操作时应执行。A、f ro n t-n ex t=s;f ro n t=s;B、s-n ex t=rear;rear=s;C、rear-n ex t=s;rear=s;D、s-n ex t=f ro n t;f ro n t=s;6 .在一棵度为3的树中度为
10、3的结点数为3个,度 为2的结点数为1个,度 为1的结点数为I个,那么度为0的结点数为 个A、6 B、7 C、8 D、97 .假定一棵二叉树的结点数为3 3个,则 它 的 最 小 高 度 为 最 大 高 度 为 A、4,3 3 B、5,3 3 C、6,3 3 D、6,3 28 .在一棵完全二叉树中,若 编 号 为i的结点有右孩子,则该结点的右孩子编号为A、2i B、2i+l C、2i-l D、i/29 .在一个有向图中,所有顶点的入度之和等于所有弧数和一 倍。A、1 B、2 C、3 D、41 0 .对于一个具有N个顶点的图,若用邻接矩阵表示,则该矩阵的大小为A、N B、(N-l)2 C、(N+
11、l)2 D、N2C、28在该图的最小生成树中各边上数值之和为D、3 31 2.已知-个图如图所示,由该图行到的一种拓朴序列为A、vlv4 v6 v2 v5 v3B、vlv2 v3 v4 v5 v6C vlv4 v2 v3 v6 v5D、vlv2 v4 v6 v3 v51 3 .二维数组M 的元素是4个 字 符(每个字符占一个存储单元)组成的串,行下标i 的范围从0到 4,列下标j的范围从0到 5,M 按行存储时元素M的起始地址与M 按列存储时元素 的起始地址相同。A、m 4 B、M图 C、M 3 D、M 3 l1 4 .具有6个结点的无向图至少应有 条边才能保证是连通图。A、5 B、6 C、7
12、 D、81 5 .采 用 邻 接 表 存 储 的 图 的 深 度 优 先 遍 历 类 似 于 二 叉 树 的 oA先序遍历B 中 序 遍 历 C.后 序 遍 历 D.按层遍历二、填 空 题(本大题共5小题,每 空 1 分,共 8分;答案填在下表内)123456781.数据结构是研究数据元素之间抽象化的相互关系和这种关系在计算机中的存储结构表示,根据数据元素之间关系的不同特性,通常有下列四类基本结构:集合、线性结构、(1)和(2)。2.评价算法的标准很多,通常是以执行算法所需要的(3)和 所 占 用 的(4)来判别一个算法的优劣。3.线性表的顺序存储结构特点是表中逻辑关系相邻的元素在机器内的也是
13、相邻的。4.空格串的长度为串中所包含(6)字符的个数,空串的长度为(7)5.加上表示指向前驱和(8)的线索的二叉数称为线索二叉树。三、判 断 题(对 的 打“J”,错 的 打“X”。每小题1分,共1 0分)()1.线性表的唯一存储形式是链表。()2.已知指针P指向键表L中的某结点,执行语句P=P-n e x t不会删除该链表中的结点。()3.在链队列中,即使不设置尾指针也能进行入队操作。()4.如果一个串中的所有字符均在另串中出现,则说前者是后者的子串。()5.设与一棵树T所对应的二叉树为B T,则与T中的叶子结点所对应的B T中的结点也一定是叶子结点。()6.快速排序是不稳定排序。()7.任
14、一 A 0 E网中至少有一条关键路径,且是从源点到汇点的路径中最短的一条。()8.若图G的最小生成树不唯一,则G的边数一定多于n-1,并且权值最小的边 有 多 条(其 中n为G的顶点数)。()9.给出不同的输入序列建造二叉排序树,一定得到不同的二叉排序树。O 1 0.基数排序是多关键字排序。从最低位关键字起进行排序。四、应用题。(共4 4分)1.画出该图的邻接矩阵和邻接表。根据邻接表从A开始求D F S和B F S序列。(1 2分)2.假设用于通信的电子由字符集 a,b,c,d,e,f,g,h 中的字母构成,这8个字母在电文中出现的概率分别为 0.0 7,0.1 9,0.0 2,0.0 6,0
15、.3 2,0.0 3,0.2 1,0.1 0 画出哈夫曼树,并为这8个字母设计哈夫曼编码。(8分)3 .已知序列 70,73,69,2 3,93,1 8,1 1,68 请给出直接插入排序作升序排序每一趟的结果和快速排序作升序排序时一趟的结果。(1 0分)4.设有一组关键字关键码集为 4 7,7,2 9,1 1,1 6,92,2 2,8,3),哈希表表长为11,Ha s h(k e y)=k e y m o d 1 1,用线性探测法处理冲突,构造哈希表,并求它成功查找的A S L。(8分)5.二叉树的先序遍历序列为A B C D E F G I I I,中 序 遍 历 序 列 为B C A E
16、D GH F I,画出这棵二叉树。(6分)五、算法设计题(8分)定义有序表抽象数据类型,并据此类型设计折半查找算法。2学期数据结构试卷A参考答案及评分标准一、选择题本大题共15小题,每 题2分,共30分二、填 空 题(本大题共5,、题,每 空1分,共8分)123456789101112131415ADDBCCCBADBADAA12345678树型结构图型结构时间空间位置空格零后继三、判 断 题(每小题1分,共10分)12345678910X7VXXVXXXX四、应用题44分)1.(12 分)011000101000100001010010000101001010ABDFS 序列:ABDEFCB
17、FS 序列:ABCDFE2.(8 分)3.(10 分)719263232110001010000000001010000111011直接插入排序70,73,69,23,93,18,11,6870,73,69,23,93,18,1b 6870,69,73,23,93,18,11,6823,70,69,73,93,18,11,6823,70,69,73,93,18,11,6818,23,70,69,73,93,11,68lb 18,23,70,69,73,93,6811,18,23,68,70,69,73,93快速排序68,11,69,23,18,70,93,734.(8 分)0123456789
18、 10ASL=5/31122479216372985.(6 分)五、算法设计题(8 分)typedef struct int key;float info;JD;int binsrch(JD r,int n,int k)int low,high,mid,found;low=l;high=n;found=0;while(lowrlmidj.key)low=mid+l;else if(k=rmid.key)found=l;else high=mid-l;)if(found=l)return(mid);elsereturn(O);程序设计教程用C+语言编程(第二版习题解答)目录第 1 章 概 述.2
19、 4第 2 章 基本数据类型和表达式.2 6第 3 章 程序的流程控制一 一语句.2 9第 4章 过程抽象一一函数.3 8第 5 章 构造数据类型.4 7第 6 章 数据抽象一一类.63第 7章操作符重载.8 2第 8 章 继承一一派生类.1 0 6第 9章 类 属(泛型)机制一一模板.1 1 7第 1 0 章 输入/输出(I/O).1 2 3第 1 1 章异常处理.1 3 0第 1 2 章 实例一一面向对象的W in d o w s 应用程序框架.1 3 2第 1 章概述简述冯诺依曼计算机的工作模型。答:冯诺依曼计算机的工作模型是:待执行的程序从外存装入到内存中,C P U从内存中逐条地取程
20、序中的指令执行;程序执行中所需要的数据从内存或从外设中获得,程序执行中产生的中间结果保存在内存中,程序的执行结果通过外设输出。简述寄存器、内存以及外存的区别。答:寄存器主要用于记录下一条指令的内存地址、当前指令的执行状态以及暂时保存指令的计算结果供下一(几)条指令使用,其作用主要是减少访问内存的次数,提高指令的执行效率。内存用于存储计算机程序(指令和数据),内存由许多存储单元构成,每个存储单元都有一个地址,对存储单元的访问是通过其地址来进行的,与寄存器相比,内存的容量要大得多,但指令访问内存单元所花费的时间比访问寄存器要多得多。外存是大容量的低速存储部件,用于永久性地存储程序、数据以及各种文档
21、等信息,存储在外存中的信息通常以文件形式进行组织和访问,外存储了在容量和速度上与内存不同,另一个区别在于内存中存储的是正在运行的程序和正在使用的数据,外存中存储的则是大量的、并非正在使用的程序和数据。CPU能执行哪些指令?答:CPU所能执行的指令通常有:算术指令:实现加、减、乘、除等运算。比较指令:比较两个操作数的大小。数据传输指令:实现CPU的寄存器、内存以及外设之间的数据传输。执行流程控制指令:用于确定下一条指令的内存地址,包括转移、循环以及子程序调用/返回等指令。什么是软件?软件是如何分类的?答:计算机软件是计算机系统中的程序以及有关的文档。程序是对计算任务的处理对象(数据)与处理规则(
22、算法)的描述;文档是为了便于人理解程序所需的资料说明,供程序开发与维护使用。软件通常可以分为系统软件、支撑软件和应用软件。系统软件居于计算机系统中最靠近硬件的一级,它与具体的应用领域无关,其他软件一般要通过系统软件发挥作用,如操作系统属于系统软件。支撑软件是指支持软件开发与维护的软件,一般由软件开发人员使用,如软件开发环境就是典型的支撑软件。应用软件是指用于特定领域的专用软件,如人口普查软件、财务软件等。什么是虚拟机?答:在由硬件构成的计算机(称为“裸机”)之 上,加上一些软件就得到了一个比它功能更强的计算机,称 为“虚拟机”。十进制数0.1的二进制表示是什么?答:(0.1)10=(0.000
23、110011.)2,它是无限循环小数。也就是说,十进制数0无法精确用二进制表示!简述程序设计范型。答:基于不同的计算模型来对计算进行描述就形成了不同的程序设计范型。典型的程序设计范型有:过程式、对象式、函数式以及逻辑式等。过程式程序设计是一种以功能为中心、基于功能分解和过程抽象的程序设计范型。一 个 过程式程序由一些子程序构成,每个子程序对应一-个子功能,它实现了功能抽象。对象式程序设计是一种以数据为中心、基于数据抽象的程序设计范型。一个面向对象程序由一些对象构成,对象是由一些数据及可施于这些数据上的操作所组成的封装体。函数式程序设计是围绕函数来进行的,计算过程体现为一系列的函数应用。逻辑程序
24、设计是把程序组织成一组事实和一组推理规则,在事实基础上运用推理规则来实施计算。简述程序设计的步骤。答:程序设计一般遵循以下步骤:明确问题;系统设计;用某种语言进行编程;测试与调试;运行与维护低级语言与高级语言的不同之处是什么?答:低级语言是指与特定计算机体系结构密切相关的程序语言,它是特定计算机能够直接理解的语言(或与之直接对应的语言),包括机器语言和汇编语言。低级语言的优点在于:写出的程序效率比较高,包括执行速度快和占用空间少。其缺点是:程序难以设计、理解与维护,难以保证程序的正确性。高级语言是指人容易理解和有利于人对解题过程进行描述的程序语言。高级语言的优点在于:程序容易设计、理解与维护,
25、容易保证程序正确性。高级语言的缺点是:用其编写的程序相对于用低级语言编写的程序效率要低,翻译成的目标代码量较大。简述编译与解释的区别。答:编译是指把高级语言程序首先翻译成功能上等价的机器语言程序或汇编语言程序,然后执行目标代码程序,在目标代码程序的执行中不再需要源程序。解释则是指对源程序中的语句进行逐条翻译并执行,翻译完了程序也就执行完了,这种翻译方式不产生目标程序。一 般来说,编译执行比解释执行效率要高。简述C+程序的编译执行过程。在你的C+开发环境中运行1.3.2节中给出的简单C+程序。答:首先可以利用某个编辑程序把C+源程序输入到计算机中,并作为文件保存到外存中,文件名为“*.cpp”和
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 答案 数据结构 试卷
限制150内