[计算机类试卷]国家二级公共基础知识(数据结构与算法、程序设计基础)模拟试卷1及答案与解析.doc

上传人:progressking105 文档编号:501762 上传时间:2018-11-29 格式:DOC 页数:15 大小:50KB
下载 相关 举报
[计算机类试卷]国家二级公共基础知识(数据结构与算法、程序设计基础)模拟试卷1及答案与解析.doc_第1页
第1页 / 共15页
[计算机类试卷]国家二级公共基础知识(数据结构与算法、程序设计基础)模拟试卷1及答案与解析.doc_第2页
第2页 / 共15页
[计算机类试卷]国家二级公共基础知识(数据结构与算法、程序设计基础)模拟试卷1及答案与解析.doc_第3页
第3页 / 共15页
[计算机类试卷]国家二级公共基础知识(数据结构与算法、程序设计基础)模拟试卷1及答案与解析.doc_第4页
第4页 / 共15页
[计算机类试卷]国家二级公共基础知识(数据结构与算法、程序设计基础)模拟试卷1及答案与解析.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、国家二级公共基础知识(数据结构与算法、程序设计基础)模拟试卷1及答案与解析 一、选择题 下列各题 A、 B、 C、 D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。 1 算法的有穷性是指 ( A)算法程序的运行时间是有限的 ( B)算法程序所处理的数据量是有限的 ( C)算法程序的长度是有限的 ( D)算法只能被有限的用户使用 2 算法的时间复杂度是指 ( A)算法的执行时间 ( B)算法所处理的数据量 ( C)算法程序中的语句或指令条数 ( D)算法在执行过程中所需要的基本运算次 数 3 数据的存储结构是指 ( A)存储在外存中的数据 ( B)数据所占的存储空间量 (

2、 C)数据在计算机中的顺序存储方式 ( D)数据的逻辑结构在计算机中的表示 4 下列叙述中正确的是 ( A)有一个以上根结点的数据结构不一定是非线性结构 ( B)只有一个根结点的数据结构不一定是线性结构 ( C)循环链表是非线性结构 ( D)双向链表是非线性结构 5 下面叙述中正确的是 ( A)线性表是线性结构 ( B)栈与队列是非线性结构 ( C)线性链表是非线性结构 ( D)二叉树是线性结构 6 下列 数据结构中,能够按照 “先进后出 ”原则存取数据的是 ( A)循环队列 ( B)栈 ( C)队列 ( D)二叉树 7 下列叙述中正确的是 ( A)在栈中,栈中元素随栈底指针与栈顶指针的变化而

3、动态变化 ( B)在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化 ( C)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化 ( D)上述三种说法都不对 8 下列关于栈的描述中错误的是 ( A)栈是先进后出的线性表 ( B)栈只能顺序存储 ( C)栈具有记忆作用 ( D)对栈的插入与删除操作中,不需要 改变栈底指针 9 下列叙述中正确的是 ( A)栈是一种先进先出的线性表 ( B)队列是一种后进先出的线性表 ( C)栈与队列都是非线性结构 ( D)以上三种说法都不对 10 下列叙述中正确的是 ( A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构 ( B)在循环队列中

4、,只需要队头指针就能反映队列中元素的动态变化情况 ( C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况 ( D)循环队列中元素的个数是由队头指针和队尾指针共同决定 11 设循环队列的存储空间为 Q(1: 35),初始状态为 front=rear=35。现经过一系列入队与退队运算后, front=15, rear=15,则循环队列中的元素个数为 ( A) 15 ( B) 16 ( C) 20 ( D) 0或 35 12 下列叙述中正确的是 ( A)栈是 “先进先出 ”的线性表 ( B)队列是 “先进后出 ”的线性表 ( C)循环队列是非线性结构 ( D)有序线性表既可以采用顺序存

5、储结构,也可以采用链式存储结构 13 下列关于线性链表的叙述中,正确的是 ( A)各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致 ( B)各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续 ( C)进行插入与删除时,不需要移动表中的元素 ( D)以上都不正确 14 下列叙述中正确的是 ( A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的 ( B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构 ( C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构 ( D)上述三种说法都不对 15 下列链表中,其逻辑结构属于非线性结构的是

6、 ( A)二叉链表 ( B)循环链表 ( C)双向链表 ( D)带链的栈 16 下列关于二叉树的叙述中,正确的是 ( A)叶子结点总是比度为 2的结点少一个 ( B)叶子结点总是比度为 2的结点多一个 ( C)叶子结点数是度为 2的结点数的两倍 ( D)度为 2的结点数是度为 1的结点数的两倍 17 一棵二叉树共有 25个结点,其中 5个是叶子结点,则度为 1的结点数为 ( A) 16 ( B) 10 ( C) 6 ( D) 4 18 某二叉树共有 7个结点,其中叶子结点只有 1个,则该二叉树的深度为 (假设根结点在第 1层 ) ( A) 3 ( B) 4 ( C) 6 ( D) 7 19 设

7、一棵完全二叉树共有 700个结点,则此二叉树中的叶子结点数为 ( A) 85 ( B) 120 ( C) 250 ( D) 350 20 对如下二叉树 进行后序遍历的结果为 ( A) ABCDEF ( B) DBEAFC ( C) ABDECF ( D) DEBFCA 21 下列叙述中正确的是 ( A)对长度为 n的有序链表进行查找,最坏情况下需要的比较次数为 n ( B)对长度为 n的有序链表进行对分查找,最坏情况下需要的比较次数为 (n 2) ( C)对长度为 n的有序链表进行对分查找,最坏情况下需要的比较次数为 (log2n) ( D)对长度为 n的有序链表进行对分查找,最坏情况下需要的

8、比较次数为 (nlog2n) 22 冒泡排序在最坏情况下的比较次数是 ( A) n(n+1) 2 ( B) nlog2n ( C) n(n-1) 2 ( D) n 2 23 对长度为 n的线性表作快速排序,在最坏情况下,比较次数为 ( A) n ( B) n-1 ( C) n(n-1) ( D) n(n-1) 2 24 下列叙述中正确的是 ( A)程序执行的效率与数据的存储结构密切相关 ( B)程序执行的效率只取决于程序的控制结构 ( C)程序执行 的效率只取决于所处理的数据量 ( D)以上都不正确 25 下列选项中不属于结构化程序设计原则的是 ( A)可封装 ( B)自顶向下 ( C)模块化

9、 ( D)逐步求精 26 结构化程序设计中,下面对 goto语句使用描述正确的是 ( A)禁止使用 goto语句 ( B)使用 goto语句程序效率高 ( C)应避免滥用 goto语句 ( D) goto语句确实一无是处 27 下列选项中属于面向对象设计方法主要特征的是 ( A)继承 ( B)自顶向下 ( C)模块化 ( D)逐步求精 28 下面对对象概念描 述正确的是 ( A)对象间的通信靠消息传递 ( B)对象是名字和方法的封装体 ( C)任何对象必须有继承性 ( D)对象的多态性是指一个对象有多个操作 国家二级公共基础知识(数据结构与算法、程序设计基础)模拟试卷1答案与解析 一、选择题

10、下列各题 A、 B、 C、 D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。 1 【正确答案】 A 【试题解析】 算法的有穷性,是指算法必须能在有限的时间内做完,即算法必须能在执行有限个步骤之后终止。 【知识模块】 数据结构与算法 2 【正确答案】 D 【试题解析】 算法的时间复杂度,是指执行算法所需要的计算工作量。算法的工作量可以用算法在执行过程中所需基本运算的执行次数来度量。 【知识模块】 数据结构与算法 3 【正确答案】 D 【试题解析】 在对数据进行处理时,各数据元素在计算机中的存储关系,即为数据的存储结构。 【知识模块】 数据结构与算法 4 【正确答案】 B

11、【试题解析】 在数据结构中,树这类的数据结构只有一个根结点,但它不是线性结构。 【知识模块】 数据结构与算法 5 【正确答 案】 A 【试题解析】 线性表是最简单的、最常用的一种线性结构。所谓线性链表指的是采用链式存储结构的线性表。栈和队列其实是一种特殊的线性表。树是一种简单的非线性结构,二叉树是树的一种。 【知识模块】 数据结构与算法 6 【正确答案】 B 【试题解析】 栈按照 “先进后出 ”(FILO)或 “后进先出 ”(LIFO)组织数据;队列是“先进先出 ”(FIFO)或 “后进后出 ”(LILO)的线性表。 【知识模块】 数据结构与算法 7 【正确答案】 C 【试题解析】 在栈中,允

12、许插入与删除的一端称为栈顶,而不允许插入与删除的另一端称为栈底。栈跟队列不同,元素只能在栈顶压入或弹出,栈底指针不变,栈中元素随栈顶指针的变化而动态变化,遵循后进先出的规则。 【知识模块】 数据结构与算法 8 【正确答案】 B 【试题解析】 栈是限定在一端进行插入与删除的线性表。栈顶 (top):插入数据(即入栈 )的一端;栈底 (bottom):不能入栈也不能出栈的一端。栈存储数据的原则: “先进后出 ”或 “后进先出 ”。栈的特性是具有记忆作用。 【知识模块】 数据结 构与算法 9 【正确答案】 D 【试题解析】 栈是先进后出的线性表,队列是先进先出的线性表,二者均为线性结构。 【知识模块

13、】 数据结构与算法 10 【正确答案】 D 【试题解析】 循环队列中元素的个数是由队头指针和队尾指针共同决定的,元素的动态变化也是通过队头指针和队尾指针来反映的。 【知识模块】 数据结构与算法 11 【正确答案】 D 【试题解析】 循环队列的队头指针和尾指针都等于 15,此循环队列中元素的个数有两种情况,第一种情况是队头指针和尾指针都是第一次到达 15,此时元素个数为 0;第二种情况是队头指针第一次到达 15,而尾指针第二次到达 15,此时元素个数为 35。 【知识模块】 数据结构与算法 12 【正确答案】 D 【试题解析】 栈是 “先进后出 ”,队列 “是先进先出 ”。栈和队列都是一种线性表

14、,属于线性结构。有序线性表既可以采用顺序存储结构,也可以采用链式存储结构。采用链式存储结构的线性表称之为线性链表。 【知识模块】 数据结构与算法 13 【正确答案】 C 【试题解析】 线性表的链式存储结构称为线性链表。在链式存储结构中,存储数据结构 的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。 【知识模块】 数据结构与算法 14 【正确答案】 B 【试题解析】 线性表的存储分为顺序存储和链式存储。在顺序存储中,所有元素所占的存储空间是连续的,各数据元素在存储空间中是按逻辑顺序依次存放的。所以每个元素只存储其值就可以了

15、,而在链式存储的方式中,将存储空间的每一个存储结点分为两部分,一部分用于存储数据元素的值,称为数据域;另一部分用于存储下一个元素的存储序号,称为指 针域。所以线性表的链式存储方式比顺序存储方式的存储空间要大一些。 【知识模块】 数据结构与算法 15 【正确答案】 A 【试题解析】 二叉链表作为树的存储结构。链表中结点的两个链域分别指向该结点的第一个孩子结点和下一个兄弟结点。 【知识模块】 数据结构与算法 16 【正确答案】 B 【试题解析】 由二叉树的性质可以知道在二叉树中叶子结点总是比度为 2的结点多一个。 【知识模块】 数据结构与算法 17 【正确答案】 A 【试题解析】 根据二叉树的性质

16、,在任意二叉树 中,度为 0的结点 (即叶子结点 )总是比度为 2的结点多一个,故此度为 1的结点个数 =总结点数 -叶子节点数 -度为2的节点数 =25-5-4=16。 【知识模块】 数据结构与算法 18 【正确答案】 D 【试题解析】 根据二叉树的性质,度为 0的结点 (即叶子结点 )总是比度为 2的结点多一个。题目中的二叉树的叶子结点为 1,因此度为 2的结点的数目为 0,故该二叉树为 7层,每层只有一个结点。 【知识模块】 数据结构与算法 19 【正确答案】 D 【试题解析】 具有 n个结点的完全二叉树的深度为 long2n+1,计算出该完全二叉树的深度为 10。 设度为 0的结点 (

17、即叶子结点 )为 n0度为 1的结点为 n1,度为2的结点为 n2,总结点数为 n,深度为 k。 n=n1+n2+n0,由于 n0=n2+1则 n2=n0-1,故 n=n1+n0-1+n0=n1+2n0-1。由于完全二叉树中度为 1的结点数只有两种可能: 0或 1。 假设度为 1的结点数为 0即满二叉树,根据满二叉树的定义,其 2m-1个结点,根据以上计算所得的深度 10来计算,应有 210-1=1024-1=1023个结点,显然与题目中 700个结点不符。因此,度为 1的结点数必然 为 1。 故 n=n1+2n0-1=1+2n0-1=2n0,则 n0=n 2=700 2=350。 【知识模块

18、】 数据结构与算法 20 【正确答案】 D 【试题解析】 所谓后序遍历是指在访问根据结点、遍历左子树与遍历右子树这三者中,首先遍历左子树,然后遍历右子树,最后访问根结点,并且,在遍历左、右子树时,仍然先遍历左子树,然后遍历右子树,最后访问根点。因此,后序遍历二叉树的过程也是一个递归过程。其简单描述为:若二叉树为空,则结束返回;否则,先后序遍历左子树,然后后序遍历右子树,最后访问根结点。对于 后序遍历,第一个访问的结点一定是最左下的结点,最后一个访问的结点一定是根结点,所以选项 D)为正确答案。 【知识模块】 数据结构与算法 21 【正确答案】 A 【试题解析】 本题主要考查的知识点为查找技术。

19、顺序查找的使用情况: 线性表为无序表; 表采用链式存储结构。二分法查找只适用于顺序存储的有序表,并不适用于线性链表。 【知识模块】 数据结构与算法 22 【正确答案】 C 【试题解析】 对 n个结点的线性表采用冒泡排序,在最坏情况下,冒泡排序需要经过 n 2遍的从前往后的扫描 和 n 2遍的从后往前的扫描,需要的比较次数为n(n-1) 2。 【知识模块】 数据结构与算法 23 【正确答案】 D 【试题解析】 假设线性表的长度为 n,则在最坏情况下,冒泡排序需要经过 n 2遍的从前往后的扫描和 n 2遍的从后往前的扫描,需要的比较次数为 n(n-1)2。快速排序法也是一种互换类的排序方法,但由于

20、它比冒泡排序法的速度快,因此,称为快速排序法。 【知识模块】 数据结构与算法 24 【正确答案】 A 【试题解析】 影响程序执行效率的因素有很多,如数据的存储结构、程 序处理的数据量、程序的算法等。顺序存储结构和链式存储结构在数据插入和删除操作上的效率就存在差别。其中,链式存储结构的效率要高一些。 【知识模块】 程序设计基础 25 【正确答案】 A 【试题解析】 结构化设计方法的主要原则可以概括为自顶向下、逐步求精、模块化、限制使用 goto语句。 【知识模块】 程序设计基础 26 【正确答案】 C 【试题解析】 滥用 goto语句确实有害,应尽量避免;完全避免使用 goto语句并非是明智的方

21、法,有些地方使用 goto语句会使程序流程更清楚、效率更 高;争论的焦点不应该放在是否取消 goto语句,而应该放在用在什么程序结构上。 【知识模块】 程序设计基础 27 【正确答案】 A 【试题解析】 面向对象设计方法的主要特征有封装性、继承性和多态性。而结构化程序设计方法的主要原则有自顶向下,逐步求精,模块化,限制使用 goto语句。 【知识模块】 程序设计基础 28 【正确答案】 A 【试题解析】 对象是面向对象方法中最基本的概念。操作描述了对象执行的功能,通过消息传递,还可以为其他对象使用。操作过程是被封装在对象中,用户看不到, 称之为对象的封装性。对象的多态性是指同一个操作可以是不同对象的行为。不是所有的对象都必须有继承性。 【知识模块】 程序设计基础

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

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