[计算机类试卷]国家二级C++机试(数据结构与算法)模拟试卷4及答案与解析.doc

上传人:hopesteam270 文档编号:497694 上传时间:2018-11-30 格式:DOC 页数:13 大小:39.50KB
下载 相关 举报
[计算机类试卷]国家二级C++机试(数据结构与算法)模拟试卷4及答案与解析.doc_第1页
第1页 / 共13页
[计算机类试卷]国家二级C++机试(数据结构与算法)模拟试卷4及答案与解析.doc_第2页
第2页 / 共13页
[计算机类试卷]国家二级C++机试(数据结构与算法)模拟试卷4及答案与解析.doc_第3页
第3页 / 共13页
[计算机类试卷]国家二级C++机试(数据结构与算法)模拟试卷4及答案与解析.doc_第4页
第4页 / 共13页
[计算机类试卷]国家二级C++机试(数据结构与算法)模拟试卷4及答案与解析.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

1、国家二级 C+机试(数据结构与算法)模拟试卷 4及答案与解析 一、选择题 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)栈底元素永远不能被删除

3、 ( D)以上三种说法都不对 7 一个栈的初始状态为空。现将元素 1、 2、 3、 4、 5、 A、 B、 C、 D、 E依次入栈,然后再依次出栈,则元素出栈的顺序是 ( )。 ( A) 12345ABCDE ( B) EDCBA54321 ( C) ABCDE12345 ( D) 54321EDCBA 8 按照 “后进先出 ”原则组织数据的数据结构是 ( )。 ( A)队列 ( B)栈 ( C)双向链表 ( D)二叉树 9 下列叙述中正确的是 ( )。 ( A)栈是 “先进先出 ”的线性表 ( B)队列是 “先进后出 ”的线性表 ( C)循环队列是非线性结构 ( D)有序线性表既可以采用顺序

4、存储结构,也可以采用链式存储结构 10 对于循环队列,下列叙述中正确的是 ( )。 ( A)队头指针是固定不变的 ( B)队头指针一定大于队尾指针 ( C)队头指针一定小于队尾指针 ( D)队头指针可以大于队尾指针,也 可以小于队尾指针 11 在一个容量为 15的循环队列中,若头指针 front=6,尾指针 rear=9,则循环队列中的元素个数为 ( )。 ( A) 2 ( B) 3 ( C) 4 ( D) 5 12 下列与队列结构有关联的是 ( )。 ( A)函数的递归调用 ( B)数组元素的引用 ( C)多重循环的执行 ( D)先到先服务的作业调度 13 下列叙述中正确的是 ( )。 (

5、A)线性表链式存储结构的存储空间一般要少于顺序存储结构 ( B)线性表链式存储结构与顺序存储结构的存储空间都是连续的 ( C)线性表链式存储结构的存储空间可以是连续的,也可以是不连续的 ( D)以上都不正确 14 下列对于线性链表的描述中正确的是 ( )。 ( A)存储空间不一定连续,且各元素的存储顺序是任意的 ( B)存储空间不一定连续,且前件元素一定存储在后件元素的前面 ( C)存储空间必须连续,且前件元素一定存储在后件元素的前面 ( D)存储空间必须连续,且各元素的存储顺序是任意的 15 下列叙述中正确的是 ( )。 ( A)有一个以上根结点的数据结构不一定是非线性结构 ( B)只有一个

6、根结点的数据结构不 一定是线性结构 ( C)循环链表是非线性结构 ( D)双向链表是非线性结构 16 某二叉树中有 n个度为 2的结点,则该二叉树中的叶子结点数为 ( )。 ( A) n+1 ( B) n 1 ( C) 2n ( D) n 2 17 一棵二叉树中共有 80个叶子结点与 70个度为 1的结点,则该二叉树中的总结点数为 ( )。 ( A) 219 ( B) 229 ( C) 230 ( D) 231 18 某二叉树共有 12个结点,其中叶子结点只有 1个。则该二叉树的深度为 (根结点在第 1层 ) ( )。 ( A) 3 ( B) 6 ( C) 8 ( D) 12 19 在深度为

7、7的满二叉树中,叶子结点的个数为 ( )。 ( A) 32 ( B) 31 ( C) 64 ( D) 63 20 对长度为 n的线性表进行顺序查找,在最坏情况下所需要的比较次数为 ( )。 ( A) log2n ( B) n 2 ( C) n ( D) n+1 21 对长度为 10的线性表进行冒泡排序,最坏情况下需要比较的次数为 ( )。 ( A) 9 ( B) 10 ( C) 45 ( D) 90 22 对长度为 n的线性表排序,在最坏情况下,比较次数不是 n(n 1) 2的排序方法是 ( )。 ( A)快速排序 ( B)冒泡排序 ( C)直接插入排序 ( D)堆排序 国家二级 C+机试(数

8、据结构与算法)模拟试卷 4答案与解析 一、选择题 1 【正确答案】 D 【试题解析】 所谓算法是指解题方案的准确而完整的描述。是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,且是明确的,此顺序将在有限的次数下终止。算法不等于程序,也不等于计算方法。设计算法时不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构。 【知识模块】 数据结构与算法 2 【正确答案】 B 【试题解析】 算法的时间复杂度是指执行算法所需要的计算工作量。算法的工作量用算法所执行的基本运算的次数来度量,而算法所执行的基本运算次数是问题规模的函数;算法的空间复杂度一般是指执行这个算法所斋要的内存空间。算法的时间复

9、杂度与空间复杂度并不相关。数据的逻辑结构就是数据元素之间的逻辑关系,它足从逻辑上描述数据元素之间的关系,是独立于计算机的:数据的存储结构是研究数据元素和数据元素之间的关系如何在计算机中表示,它们并非一一对应。算法的执行效率不仅与问题的规模有关,还与数据的存储结 构有关。 【知识模块】 数据结构与算法 3 【正确答案】 D 【试题解析】 数据的逻辑结构是指数据集合中各数据元素之间所固有的逻辑关系;数据的存储结构是在对数据进行处理时,各数据元素在计算机中的存储关系。数据的存储结构是指数据的逻辑结构在计算机中的表示,一种逻辑结构可以表示成多种存储结构;而采用不同的存储结构,其数据处理的效率是不同的。

10、 【知识模块】 数据结构与算法 4 【正确答案】 C 【试题解析】 根据数据结构中各数据元素之间的前后件关系的复杂程度,一般将数据结构分为两大类:线性结构和非线性结构。循环队列、带链队列和带链栈都是线性结构,而二叉树是非线性结构。 【知识模块】 数据结构与算法 5 【正确答案】 B 【试题解析】 栈是限定在一端进行插入和删除的线性表,允许进行插入和删除元素的一端称为栈顶,另一端称为栈底。栈是按照 “先进后出 ”的原则组织数据的。 【知识模块】 数据结构与算法 6 【正确答案】 A 【试题解析】 栈是先进后出的线性表,栈顶的元素最 先被删除,栈底的元素最后被删除。 【知识模块】 数据结构与算法

11、7 【正确答案】 B 【试题解析】 栈是按照 “先进后出 ”或 “后进先出 ”的原则组织数据的。所以出栈顺序是 EDCBA54321。 【知识模块】 数据结构与算法 8 【正确答案】 B 【试题解析】 栈是限定在一端进行插入与删除的线性表。在栈中,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。栈顶元素总是最后被插入的元素,也是最先被删除的元素;栈底元素总是最先被插入的元素,也是最后才能被删除的元素。即栈是 按照 “后进先出 ”(Last In First Out,简称 LIFO)或“先进后出 ”(FirstIn Last Out,简称 FILO)的原则组织数据的。因此,栈也称

12、为“后进先出表 ”或 “先进后出 ”表。 【知识模块】 数据结构与算法 9 【正确答案】 D 【试题解析】 本题主要考查了栈、队列、循环队列的概念,栈是先进后出的线性表,队列是先进先出的线性表。根据数据结构中各数据元素之间的前后件关系的复杂程度一般将数据结构分为两大类型:线性结构与非线性结构。有序线性表既可以采用顺序存储结构,又可以采用 链式存储结构。 【知识模块】 数据结构与算法 10 【正确答案】 D 【试题解析】 所谓循环队列,就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用。在循环队列中,用队尾指针 rear指向队列中的队尾元素,用队头指针 fron

13、t指向队头元素的前一个位置。循环队列的主要操作是:入队运算和退队运算。每进行一次入队运算,队尾指针就进一。每进行一次退队运算,队头指针就进一。当 rear或 front等于队列的长度加 1时,就把 rear或 front值置为 1。所以在循环队列中,队 头指针可以大于队尾指针,也可以小于队尾指针。 【知识模块】 数据结构与算法 11 【正确答案】 B 【试题解析】 循环队列中, rear表示尾指针, front表示头指针,当有元素入队时, rear=rear+1,而元素出队的时候, front=front+1,当 rear值大于 front值时,队列中的元素个数为 rear-front,当 r

14、ear的值小于 front时,列队中的元素个数为 rear-front+m(m表示队列的容量 )。 【知识模块】 数据结构与算法 12 【正确答案】 D 【 试题解析】 队列中最先插入的元素将最先被删除,最后插入的元素将最后被删除。 【知识模块】 数据结构与算法 13 【正确答案】 C 【试题解析】 线性表的存储分为顺序存储和链式存储。在顺序存储中,所有元素所占的存储空间是连续的。而在链式存储的方式中,将存储空间的每一个存储结点分为两部分,一部分用于存储数据元素的值,称为数据域;另一部分用于存储下一个元素的存储序号,称为指针域。所以线性表的链式存储方式比顺序存储方式的存储空间要大一些。 【知识

15、模块】 数据结构与算法 14 【正确答案】 A 【试题解析】 一般来说,在线性表的链式存储结构中,各数据结点的存储序号是不连续的,并且各结点在存储空间中的位置关系与逻辑关系也不一致。在线性链表中,各数据元素之间的前后件关系是由各结点的指针域来指示的,指向线性表中第一个结点的指针 head称为头指针,当 head=NULL(或 0)时称为空表。 【知识模块】 数据结构与算法 15 【正确答案】 B 【试题解析】 在数据结构中,树这类的的数据结构只有一个根结点,但它不是线性结构。 【知识模块】 数据结构与算法 16 【正确答案】 A 【试题解析】 在任意一棵二叉树中,度为 0的结点 (即叶子结点

16、)总是比度为 2的结点多一个。所以该二叉树的叶子结点数等于 n+1。 【知识模块】 数据结构与算法 17 【正确答案】 B 【试题解析】 根据二叉树的性质,在任意二叉树中,度为 0的结点 (即叶子结点 )总是比度为 2的结点多一个,故总结点数 =叶子节点数 +度为 2的节点数 +度为 1的节点数 80+79+70=229。 【知识模块】 数据结构与算法 18 【正确答案】 D 【试题解析】 根据二叉树的性质,度为 0的结点 (即叶子结 点 )总是比度为 2的结点多一个。题目中的二叉树的叶子结点为 1,因此度为 2的结点的数目为 0,故该二叉树为 12层,每层只有一个结点。 【知识模块】 数据结

17、构与算法 19 【正确答案】 C 【试题解析】 所谓满二叉树是指这样的一种二叉树:除最后一层外,每一层上的所有结点都有两个子结点。也就是在满二叉树中,每一层上的结点数都是最大结点数,即在满二叉树的第 k层上有 2k 1个结点,且深度为 m的满二叉树有 2m 1个结点。对于深度为 7的满二叉树,叶子结点所在的是第 7层,一共有 27 1=64个叶子结点。全部结点共 27 1=127个。 【知识模块】 数据结构与算法 20 【正确答案】 C 【试题解析】 在进行顺序查找过程中,如果被查的元素是线性表中的最后一个元素,或者被查元素根本不在线性表中,则为了查找这个元素需要与线性表中的所有元素进行比较,这是顺序查找的最坏情况,需要比较的次数为 n次。 【知识模块】 数据结构与算法 21 【正确答案】 C 【试题解析】 线性表的长度为 n,最坏情况下冒泡排序需要比较的次数为 n(n 1) 2。 【知识模块】 数据结构与算法 22 【正确答案】 D 【试题解析】 各种排序方法中最坏情况下需要比较的次数分别为:冒泡排序 n(n 1) 2、快速排序 n(n 1) 2、简单插入排序 n(n 1) 2、希尔排序 O(n1 5)、简单选择排序 n(n 1) 2、堆排序 O(nlog2n)。 【知识模块】 数据结构与算法

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

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

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