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

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

1、国家二级公共基础知识(数据结构与算法)模拟试卷 7及答案与解析 一、选择题 下列各题 A、 B、 C、 D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。 1 算法的有穷性是指 ( )。 ( A)算法程序的运行时间是有限的 ( B)算法程序所处理的数据量是有限的 ( C)算法程序的长度是有限的 ( D)算法只能被有限的用户使用 2 下列叙述中正确的是 ( )。 ( A)算法就是程序 ( B)设计算法时只需要考虑数据结构的设计 ( C)设计算法时只需要考虑结果的可靠性 ( D)以 上三种说法都不对 3 算法的空间复杂度是指 ( )。 ( A)算法在执行过程中所需要的计算机存

2、储空间 ( B)算法所处理的数据量 ( C)算法程序中的语句或指令条数 ( D)算法在执行过程中所需要的临时工作单元数 4 算法的时间复杂度是指 ( )。 ( A)算法的执行时间 ( B)算法所处理的数据量 ( C)算法程序中的语句或指令条数 ( D)算法在执行过程中所需要的基本运算次数 5 下列叙述中正确的是 ( )。 ( A)算法的效率只与问题的规模有关,而与数据的存储结构无关 ( B) 算法的时间复杂度是指执行算法所需要的计算工作量 ( C)数据的逻辑结构与存储结构是一一对应的 ( D)算法的时间复杂度与空间复杂度一定相关 6 下列叙述中正确的是 ( )。 ( A)一个算法的空间复杂度大

3、,则其时间复杂度也必定大 ( B)一个算法的空间复杂度大,则其时间复杂度必定小 ( C)一个算法的时间复杂度大,则其空间复杂度必定小 ( D)算法的时间复杂度与空间复杂度没有直接关系 7 数据的存储结构是指 ( )。 ( A)存储在外存中的数据 ( B)数据所占的存储空间量 ( C)数据在计 算机中的顺序存储方式 ( D)数据的逻辑结构在计算机中的表示 8 下列描述中正确的是 ( )。 ( A)一个逻辑数据结构只能有一种存储结构 ( B)数据的逻辑结构属于线性结构,存储结构属于非线性结构 ( C)一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率 ( D)一个逻辑数据结构可

4、以有多种存储结构,且各种存储结构影响数据处理的效率 9 下列描述中正确的是 ( )。 ( A)数据的逻辑结构与存储结构必定是一一对应的 ( B)由于计算机存储空间是向量式的存储结构,因此,数 据的存储结构一定是线性结构 ( C)程序设计语言中的数据一般是顺序存储结构,因此,利用数组只能处理线性结构 ( D)以上三种说法都不对 10 下列叙述中正确的是 ( )。 ( A)有一个以上根结点的数据结构不一定是非线性结构 ( B)只有一个根结点的数据结构不一定是线性结构 ( C)循环链表是非线性结构 ( D)双向链表是非线性结构 11 下列数据结构中,属于非线性结构的是 ( )。 ( A)循环队列 (

5、 B)带链队列 ( C)二叉树 ( D)带链栈 12 下列描述中正确的是 ( )。 ( A)线性链表是线性表的链式存储结构 ( B)栈与队列是非线性结构 ( C)双向链表是非线性结构 ( D)只有根结点的二叉树是线性结构 13 下面叙述中正确的是 ( )。 ( A)线性表是线性结构 ( B)栈与队列是非线性结构 ( C)线性链表是非线性结构 ( D)二叉树是线性结构 14 下列关于栈的叙述正确的是 ( )。 ( A)栈按 “先进先出 ”组织数据 ( B)栈按 “先进后出 ”组织数据 ( C)只能在栈底插入数据 ( D)不能删除数据 15 支持子程序调用的数据结构是 ( )。 ( A)栈 ( B

6、)树 ( C)队列 ( D)二叉树 16 下列数据结构中,能够按照 “先进后出 ”原则存取数据的是 ( )。 ( A)循环队列 ( B)栈 ( C)队列 ( D)二叉树 17 下列关于栈叙述正确的是 ( )。 ( A)栈顶元素最先能被删除 ( B)栈顶元素最后才能被删除 ( C)栈底元素永远不能被删除 ( D)以上三种说法都不对 18 下列关于栈的叙述中,正确的是 ( )。 ( A)栈底元素一定是最后入栈的元素 ( B)栈顶元素一定是最先入栈的元素 ( C)栈操作 遵循先进后出的原则 ( D)以上三种说法都不对 19 下列叙述中正确的是 ( )。 ( A)在栈中,栈中元素随栈底指针与栈顶指针的

7、变化而动态变化 ( B)在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化 ( C)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化 ( D)上述三种说法都不对 20 一个栈的初始状态为空。现将元素 1、 2、 3、 4、 5、 A、 B、 C、 D、 E依次入栈,然后再依次出栈,则元素出栈的顺序是 ( )。 ( A) 12345ABCDE ( B) EDCBA54321 ( C) ABCDEl2345 ( D) 54321EDCBA 21 一个栈的初始状态为空。现将元素 1, 2,3,A,B,C依次入栈,然后再依次出栈,则元素出栈的顺序是 ( )。 ( A) 1, 2,3, A

8、,B,C ( B) C,B,A, l, 2,3 ( C) C,B,A,3,2, 1 ( D) 1, 2,3,C,B,A 22 下列关于栈的描述中错误的是 ( )。 ( A)栈是先进后出的线性表 ( B)栈只能顺序存储 ( C)栈具有记忆作用 ( D)对栈的插入与删除操作中,不需要改变栈底指针 23 按照 “后进 先出 ”原则组织数据的数据结构是 ( )。 ( A)队列 ( B)栈 ( C)双向链表 ( D)二叉树 24 某二叉树中有 n个度为 2的结点,则该二叉树中的叶子结点数为 ( )。 ( A) n 1 ( B) n 1 ( C) 2n ( D) n 2 25 某二叉树有 5个度为 2的结

9、点,则该二叉树中的叶子结点数是 ( )。 ( A) 10 ( B) 8 ( C) 6 ( D) 4 26 一棵二叉树共有 25个结点,其中 5个是叶子结点,则度为 1的结点数为 ( )。 ( A) 16 ( B) 10 ( C) 6 ( D) 4 27 一棵二叉树中共有 80个叶子结点与 70个度为 1的结点,则该二叉树中的总结点数为 ( )。 ( A) 219 ( B) 229 ( C) 230 ( D) 231 28 一棵二叉树中共有 70个叶子结点与 80个度为 1的结点,则该二叉树中的总结点数为 ( )。 ( A) 219 ( B) 221 ( C) 229 ( D) 231 29 某

10、二叉树共有 7个结点,其中叶子结点只有 1个,则该二叉树的深度为 (假设根结点在第 1层 )( )。 ( A) 3 ( B) 4 ( C) 6 ( D) 7 30 某 二叉树共有 12个结点,其中叶子结点只有 1个。则该二叉树的深度为 (根结点在第 1层 ) ( )。 ( A) 3 ( B) 6 ( C) 8 ( D) 12 31 设树 T的深度为 4,其中度为 1, 2,3,4的结点个数分别为 4, 2, 1, 1。则 T中的叶子结点数为 ( )。 ( A) 8 ( B) 7 ( C) 6 ( D) 5 32 设一棵完全二叉树共有 700个结点,则此二叉树中的叶子结点数为 ( )。 ( A)

11、 85 ( B) 120 ( C) 250 ( D) 350 33 在深度为 7的满二叉树中,叶子结点的个数为 ( )。 ( A) 32 ( B) 31 ( C) 64 ( D) 63 国家二级公共基础知识(数据结构与算法)模拟试卷 7答案与解析 一、选择题 下列各题 A、 B、 C、 D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。 1 【正确答案】 A 【试题解析】 算法的有穷性,是指算法必须能在有限的时间内做完,即算法必须能在执行有限个步骤之后终止。 【知识模块】 数据结构与算法 2 【正确答案】 D 【试题解析】 所谓算法是指解题方案的准确而完整的描述。是一组严

12、谨地定 义运算顺序的规则,并且每一个规则都是有效的,且是明确的,此顺序将在有限的次数下终止。算法不等于程序,也不等于计算方法。设计算法时不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构。 【知识模块】 数据结构与算法 3 【正确答案】 A 【试题解析】 算法的空间复杂度是指执行这个算法所需要的内存空间。这个内存空间包括算法程序所占的空间,输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间。 【知识模块】 数据结构与算法 4 【正确答案】 D 【试题解析】 算法的时 间复杂度,是指执行算法所需要的计算工作量。算法的工作量可以用算法在执行过程中所需基本运算的执行次数来度量。 【

13、知识模块】 数据结构与算法 5 【正确答案】 B 【试题解析】 算法的时间复杂度是指执行算法所需要的计算工作量。算法的工作量用算法所执行的基本运算的次数来度量,而算法所执行的基本运算次数是问题规模的函数;算法的空间复杂度一般是指执行这个算法所需要的内存空间。算法的时间复杂度与空间复杂度并不相关。数据的逻辑结构就是数据元素之间的逻辑关系,它是从逻辑上描述数据元素之间的关系,是独立于计算 机的:数据的存储结构是研究数据元素和数据元素之间的关系如何在计算机中表示,它们并非一一对应。算法的执行效率不仅与问厨的规模有关,还与数据的存储结构有关。 【知识模块】 数据结构与算法 6 【正确答案】 D 【试题

14、解析】 算法的复杂度主要包括时间复杂度和空间复杂度。算法的时间复杂度是指执行算法所需要的计算工作量,算法的工作量用算法所执行的基本运算次数来度量,而算法所执行的基本运算次数是问题规模的函数,即算法的工作量f(n),其中 n是问题的规模:算法的空间复杂度,一般是指执行这个算法所需要的内存空间。一个算法所占用的存储空间包括算法程序所占用的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间。根据各自的定义可知,算法的时间复杂度与空间复杂度并不相关。 【知识模块】 数据结构与算法 7 【正确答案】 D 【试题解析】 在对数据进行处理时,各数据元素在计算机中的存储关系,即为数据的存储结

15、构。 【知识模块】 数据结构与算法 8 【正确答案】 D 【试题解析】 数据的逻辑结构是指数据集合中各数据元素之间所固有的逻辑关系;数据的存储结构是在对数据进行处理时,各数据元素在计算机中的存储关系。数据的存储结构是指数据的逻辑结构在计算机中的表示,一种逻辑结构可以表示成多种存储结构;而采用不同的存储结构,其数据处理的效率是不同的。 【知识模块】 数据结构与算法 9 【 正确答案】 D 【试题解析】 数据的逻辑结构是指反映数据元素之间逻辑关系的数据结构。数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构 (也称数据的物理结构 )。一般来说,一种数据的逻辑结构根据需要可以表示成多种存储

16、结构,常用的存储结构有顺序、链接、索引等。 【知识模块】 数据结构与算法 10 【正确答案】 B 【试题解析】 在数据结构中,树这类的数据结构只有一个根结点,但它不是线性结构。 【知识模块】 数据结构与算法 11 【正确答案】 C 【试题解析】 根据数 据结构中各数据元素之间的前后件关系的复杂程度,一般将数据结构分为两大类:线性结构和非线性结构。循环队列、带链队列和带链栈都是线性结构,而二叉树是非线性结构。 【知识模块】 数据结构与算法 12 【正确答案】 A 【试题解析】 线性表的链式存储结构称为线性链表。线性表链式存储结构的基本单位称为存储结点,每个存储结点包括数据域和指针域两个组成部分。

17、各数据元素之间的前后件关系是由各结点的指针域来指示的,指向线性表中第一结点的指针 HEAD称为头指针,当 HEAD=NULL时称为空表。栈、队列和双向链表 是线性结构,树是一种简单的非线性结构。在树这种数据结构中,所有数据元素的关系具有明显的层次特征。二叉树是非线性结构。线性结构和非线性结构是从数据的逻辑结构角度来讲的,与该数据结构中有多少个元素没有关系,即使是空的二叉树也是非线性结构。 【知识模块】 数据结构与算法 13 【正确答案】 A 【试题解析】 线性表是最简单的、最常用的一种线性结构。所谓线性链表指的是采用链式存储结构的线性表。栈和队列其实是一种特殊的线性表。树是一种简单的非线性结构

18、,二叉树是树的一种。 【知识模块】 数据结构与 算法 14 【正确答案】 B 【试题解析】 栈是限定在一端进行插入和删除的线性表,允许进行插入和删除元素的一端称为栈顶,另一端称为栈底。栈是按照 “先进后出 ”的原则组织数据的。 【知识模块】 数据结构与算法 15 【正确答案】 A 【试题解析】 栈是一种限定在一端进行插入与删除的线性表。在主函数调用子函数时,要首先保存主函数当前的状态,然后转去执行子函数,把子函数的运行结果返回到主函数调用子函数时的位置,主函数再接着往下执行,这种过程符合栈的特点。所以一般采用栈式存储方式。 【 知识模块】 数据结构与算法 16 【正确答案】 B 【试题解析】

19、栈按照 “先进后出 ”(FILO)或 “后进先出 ”(LIFO)组织数据;队列是“先进先出 ”(FIFO)或 “后进后出 ”(LILO)的线性表。 【知识模块】 数据结构与算法 17 【正确答案】 A 【试题解析】 栈是先进后出的线性表,栈顶的元素最先被删除,栈底的元素最后被删除。 【知识模块】 数据结构与算法 18 【正确答案】 C 【试题解析】 栈是限定只能在表的一端进行插入和删除操作的线性表,必须按“后进先出 ”的规则操作元素。 【知识模块】 数据结构与算法 19 【正确答案】 C 【试题解析】 在栈中,允许插入与删除的一端称为栈顶,而不允许插入与删除的另一端称为栈底。栈跟队列不同,元素

20、只能在栈顶压入或弹出,栈底指针不变,栈中元素随栈顶指针的变化而动态变化,遵循后进先出的规则。 【知识模块】 数据结构与算法 20 【正确答案】 B 【试题解析】 栈是按照 “先进后出 ”或 “后进先出 ”的原则组织数据的。所以出栈顺序是 EDCBA54321。 【知识模块】 数据结构与算法 21 【 正确答案】 C 【试题解析】 栈是按照 “先进后出 ”或 “后进先出 ”的原则组织数据的。所以出栈顺序是 CBA321。 【知识模块】 数据结构与算法 22 【正确答案】 B 【试题解析】 栈是限定在一端进行插入与删除的线性表。栈顶 (top):插入数据(即入栈 )的一端;栈底 (bottom):

21、不能入栈也不能出栈的一端。栈存储数据的原则: “先进后出 ”或 “后进先出 ”。栈的特性是具有记忆作用。 【知识模块】 数据结构与算法 23 【正确答案】 B 【试题解析】 栈是限定在一端进行插入与删 除的线性表。在栈中,允许插入与删除的一端称为栈项,不允许插入与删除的另一端称为栈底。栈项元素总是最后被插入的元素,也是最先被删除的元素;栈底元素总是最先被插入的元素,也是最后才能被删除的元素。即栈是按照 “后进先出 ”(LastIn First Out,简称 LIFO)或“先进后出 ”(FirstIn Last Out,简称 FILO)的原则组织数据的。因此,栈也称为“后进先出表 ”或 “先进后

22、出 ”表。 【知识模块】 数据结构与算法 24 【正确答案】 A 【试题解析】 在任意一棵二叉树中,度为 0的结点 (即叶子结点 )总是比度为 2的结点多一个。所以该二叉树的叶子结点数等于 n 1。 【知识模块】 数据结构与算法 25 【正确答案】 C 【试题解析】 根据二叉树的性质,在任意二叉树中,度为 0的结点 (即叶子结点 )总是比度为 2的结点多一个。 【知识模块】 数据结构与算法 26 【正确答案】 A 【试题解析】 根据二叉树的性质,在任意二叉树中,度为 0的结点 (即叶子结点 )总是比度为 2的结点多一个,故此度为 1的结点个数 =总结点数一叶子节点数一度为 2的节点数 25 5

23、 4 16。 【知识 模块】 数据结构与算法 27 【正确答案】 B 【试题解析】 根据二叉树的性质,在任意二叉树中,度为 0的结点 (即叶子结点 )总是比度为 2的结点多一个,故总结点数叶子节点数度为 2的节点数度为 1的节点数 80 79 70 229。 【知识模块】 数据结构与算法 28 【正确答案】 A 【试题解析】 在二叉树中,叶子结点个数为 n0,则度为 2的结点数 n0 n0 1。本题中叶子结点的个数为 70,所以度为 2的结点个数为 69,因而总结点数叶子结点数度为 1的结点数度为 2的结点数 70 80 69 219。 【知识模块】 数据结构与算法 29 【正确答案】 D 【

24、试题解析】 根据二叉树的性质,度为 0的结点 (即叶子结点 )总是比度为 2的结点多一个。题目中的二叉树的叶子结点为 1,因此度为 2的结点的数目为 0,故该二叉树为 7层,每层只有一个结点。 【知识模块】 数据结构与算法 30 【正确答案】 D 【试题解析】 根据二叉树的性质,度为 0的结点 (即叶子结点 )总是比度为 2的结点多一个。题目中的二叉树的叶子结点为 1,因此度为 2的结点的数目为 0,故该二叉树为 12层,每层只有一个结 点。 【知识模块】 数据结构与算法 31 【正确答案】 B 【试题解析】 深度为 m二叉树其总结点数为 2m 1 24 1 15。总结点数减去度为 1, 2,

25、 3, 4的结点个数就是叶子结点数。 15 4 2 1 1 7。 【知识模块】 数据结构与算法 32 【正确答案】 D 【试题解析】 具有 n个结点的完全二叉树的深度为 long2n 1,计算出该完全二叉树的深度为 10。 设度为 0的结点 (即叶子结点 )为 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。由于完全二叉树中度为 l的结点数只有两种可能: 0或 1。 假设度为 1的结点数为 0即满二叉树,根据满二叉树的定义,其 2m 1个结点,根据以

26、上计算所得的深度 10来计算,应有 210 1 10241 1023个结点,显然与题目中 700个结点不符。因此,度为 1的结点数必然为1。 故 n n1 2n0 1 1 2n0 1 2n0,则 n0 n 2 700 2 350。 【知识模块】 数据结构与算法 33 【正确答案】 C 【试 题解析】 所谓满二叉树是指这样的一种二叉树:除最后一层外,每一层上的所有结点都有两个子结点。也就是在满二叉树中,每一层上的结点数都是最大结点数,即在满二叉树的第 k层上有 2k-1个结点,且深度为 m的满二叉树有 2m 1个结点。对于深度为 7的满二叉树,叶子结点所在的是第 7层,一共有 27-1 64个叶子结点。全部结点共 27 1 127个。 【知识模块】 数据结构与算法

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

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

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