收藏 分享(赏)

二级C笔试考试题库(公共知识).doc

上传人:精品资料 文档编号:7533115 上传时间:2019-05-20 格式:DOC 页数:49 大小:392.50KB
下载 相关 举报
二级C笔试考试题库(公共知识).doc_第1页
第1页 / 共49页
二级C笔试考试题库(公共知识).doc_第2页
第2页 / 共49页
二级C笔试考试题库(公共知识).doc_第3页
第3页 / 共49页
二级C笔试考试题库(公共知识).doc_第4页
第4页 / 共49页
二级C笔试考试题库(公共知识).doc_第5页
第5页 / 共49页
点击查看更多>>
资源描述

1、Comment g1: A【解析】 数据结构作为计算机的一门学科,主要研究和讨论以下三个方面的问题:数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;对各种数据结构进行的运算。Comment g2: A【解析】 算法具有 5个特性: 有穷性:一个算法必须(对任何合法的输入值)在执行有穷步之后结束,且每一步都可在有限时间内完成,即运行时间是有限的; 确定性:算法中每一条指令必须有确切的含义,读者理解时不会产生歧义; 可行性:一个算法是可行的,即算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现; 输入:一

2、个算法有零个或多个输入 ,这些输入取自于某个特定的对象的集合; 输出:一个算法有一个或多个输出。Comment g3: C【解题要点】 一个算法应当具有 5个特性,即有穷性、确定性、可行性、有零个或多个输入以及有一个或多个输出。算法的确定性是指:算法中每一条指令必须有确切的含义,读者理解时不会产生二义性。并且在任何条件下,算法只有唯一的一条执行路径,即对于相同的输入只能得出相同的执行结果。Comment g4: C【解析】 算法的复杂度主要包括算法的时间复杂度和空间复杂度。所谓算法的时间复杂度是指执行算法所需要的计算工作量,即算法执行过程中所需要的基本运算的次数;算法的空间复杂度一般是指执行这

3、个算法所需要的内存空间。Comment g5: D【解析】 算法的复杂度主要包括算法的时间复杂度和算法的空间复杂度。所谓算法的时间复杂度是指执行算法所需要的计算工作量;算法的空间复杂度是指执行这个算法所需要的内存空间。Comment g6: D【解析】一个算法的空间复杂度,一般是指执行这个算法所需的内存空间。一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间。Comment g7: D【解析】 算法的复杂度主要包括时间复杂度和空间复杂度。算法的时间复杂度是指执行算法所需要的计算工作量,可以用执行算法过程中所需基本运算的执行次数来度量;

4、算法的空间复杂度是指执行这个算法所需要的内存空间。根据各自的定义可知,算法的时间复杂度与空间复杂度并不相关。Comment g8: C【命题目的】 本题考查了算法的基本概念。 【解题要点】 算法的执行效率不仅与问题的规模有关,还与数据的存储结构有关;算法的空间复杂度是指执行算法所需要的内存空间;算法的有穷性是指算法必须能在有限的时间内执行完,即算法必须能在执行有限个步骤之后终止。 【考点链接】 时间复杂度。二级 C笔试考试题库(全国)第 1章 数据结构与算法选择题1 数据结构作为计算机的一门学科,主要研究数据的逻辑结构、对各种数据结构进行的运算,以及 A 数据的存储结构B 计算方法C 数据映像

5、D 逻辑存储2 算法的有穷性是指 A 算法程序的运行时间是有限的B 算法程序所处理的数据量是有限的C 算法程序的长度是有限的D 算法只能被有限的用户使用3 算法中,对需要执行的每一步操作,必须给出清楚、严格的规定。这属于算法的 A 正当性B 可行性C 确定性D 有穷性4 算法的时间复杂度是指A 执行算法程序所需要的时间B 算法程序的长度C 算法执行过程中所需要的基本运算次数D 算法程序中的指令条数5 算法的空间复杂度是指 A 算法程序的长度B 算法程序中的指令条数C 算法程序所占的存储空间D 执行算法需要的内存空间6 算法的空间复杂度是指A 算法程序的长度B 算法程序中的指令条数C 算法程序所

6、占的存储空间D 算法执行过程中所需要的存储空间7 下列叙述中正确的是 A 一个算法的空间复杂度大,则其时间复杂度也必定大B 一个算法的空间复杂度大,则其时间复杂度必定小C 一个算法的时间复杂度大,则其空间复杂度必定小D 上述三种说法都不对8 下面叙述正确的是 Comment g9: A【解析】 程序执行的效率与很多因素有关,如数据的存储结构、程序所处理的数据量、程序所采用的算法等。顺序存储结构和链式存储结构在数据插入和删除操作上的效率就存在差别,其中链式存储结构的效率要高一些。Comment g10: B解析:根据时间复杂度和空间复杂度的定义可知,算法的时间复杂度与空间复杂度并不相关。数据的逻

7、辑结构就是数据元素之间的逻辑关系,它是从逻辑上描述数据元素之间关系的,是独立于计算机中的,数据的存储结构是研究数据元素和数据元素之间的关系如何在计算机中表示,它们并非一一对应。算法的执行效率不仅与问题的规模有关,还与数据的存储结构有关。Comment g11: D【解析】 线性表可以为空表;第一个元素没有直接前件,最后一个元素没有直接后件;线性表的定义中,元素的排列并没有规定大小顺序。Comment g12: C【解析】 对于长度为 n的有序线性表,在最坏情况下,二分查找只需要比较 log2n次,而顺序查找需要比较 n次。Comment g13: C【解析】 数据结构概念一般包括数据的逻辑结构

8、、存储结构及数据上的运算集合等。数据的逻辑结构只抽象地反映数据元素之间的逻辑关系,而不管它在计算机中的存储形式。Comment g14: C【解析】所谓数据的逻辑结构,是指反映数据元素之间逻辑关系的数据结构。所谓数据的存储结构,是指数据的逻辑结构在计算机存储空间中的存放形式。与数据元素本身的形式、内容、相对位置、个数有关。逻辑结构与物理存储无关。 因此本题的正确答案为 C。Comment g15: BComment g16: A【解析】根据数据结构中各数据元素之间前后间关系的复杂程度,一般将数据结构分为两大类型:线性结构与非线性结构。如果一个非空的数据结构满足下列两个条件:(1)有且只有一个根

9、结点;(2)每一个结点最多有一个前件,也最多有一个后件。则称该数据结构为线性结构,又称线性表。所以线性表、栈与队列、线性链表都是线性结构,而二叉树是非线性结构。A 算法的执行效率与数据的存储结构无关 B 算法的空间复杂度是指算法程序中指令(或语句)的条数 C 算法的有穷性是指算法必须能在执行有限个步骤之后终止 D 以上三种描述都不对9 下列叙述中正确的是 A 程序执行的效率与数据的存储结构密切相关 B 程序执行的效率只取决于程序的控制结构 C 程序执行的效率只取决于所处理的数据量 D 以上三种说法都不对10 下列叙述中正确的是 A 算法的效率只与问题的规模有关,而与数据的存储结构无关B 算法的

10、时间复杂度是指执行算法所需要的计算工作量C 数据的逻辑结构与存储结构是一一对应的D 算法的时间复杂度与空间复杂度一定相关11 线性表 L=(a1,a2,a3,ai,an),下列说法正确的是 A 每个元素都有一个直接前件和直接后件B 线性表中至少要有一个元素C 表中诸元素的排列顺序必须是由小到大或由大到小D 除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件12 对长度为 n的线性表进行顺序查找,在最坏情况下所需要的比较次数为 A log2nB n/2C nD n+113 数据结构中,与所使用的计算机无关的是数据的 A 存储结构B 物理结构C 逻辑结构D 物理和存储结

11、构14 与数据元素本身的形式、内容、相对位置、个数无关的是数据的 A 存储结构B 存储实现C 逻辑结构D 运算实现15 下面数据结构中,属于非线性的是() 。A 线性表B 树C 队列D 堆栈16 下列叙述中正确的是Comment g17: D【解析】 数据的逻辑结构与数据在计算机中的存储方式无关,它用来抽象地反映数据元素之间的逻辑关系,故 A)选项错误。存储结构分为顺序存储结构与链式存储结构,其中顺序存储结构是将逻辑上相邻的数据元素存储在物理上相邻的存储单元里,节点之间的关系由存储单元的相邻关系来决定,它主要用于存储线性结构的数据,故 B)选项错误。数组的存储方式连续是指其在计算机中的存储方式

12、,它可以用来处理非线性结构,故 C)选项错误。Comment g18: B【解析】 堆排序的比较次数为 nlog2n;直接插入排序的比较次数为 n(n-1)/2;快速排序的比较次数为 nlog2n。Comment g19: B【命题目的】 本题主要考查对于栈的理解。 【解题要点】 栈是限定在一端进行插入与删除的线性表。在栈中,允许插入与删除的一端称为栈顶,而不允许插入与删除的另一端称为栈底。栈顶元素总是最后被插入的元素,从而也是最先能被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素,即栈是按照“先进后出 “或“ 后进先出“的原则组织数据的。 【错解分析】 队列组织数据的

13、原则是“先进先出 “或“后进后出“。 【考点链接】 数据结构中,栈和队列组织数据的原则。Comment g20: B【解析】 在栈中,允许插入与删除的一端称为栈顶,而不允许插入与删除的一端称为栈底。栈顶元素总是最后被插入的元素,从而也是最先被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。即栈是按照“先进后出 “或“后进先出“的原则组织数据的。Comment g21: AComment g22: A【解析】 和线性表类似,栈也有两种存储方法,一是顺序栈,二是链式栈。栈的顺序存储结构是利用一组地址连续的存储单元一次存储自栈底到栈顶的数据元素,同时附设指针 top指示栈顶元

14、素的位置,由于栈的操作是线性表操作的特例,相对而言,链式栈的操作更易于实现。Comment g23: B【解析】 栈操作原则上“后进先出 “,栈底至栈顶依次存放元素A、B、C 、D,则表明这 4个元素中 D是最后进栈,B、C 处于中间,A 最早进栈,所以出栈时一定是先出 D,再出 C,最后出 A。Comment g24: B【解析】栈的特点是先进后出,所以全部入栈后再全部出栈所得的序列顺序必然与入栈序列的顺序相反。A 线性表是线性结构B 栈与队列是非线性结构C 线性链表是非线性结构D 二叉树是线性结构17 下列叙述中正确的是 A 数据的逻辑结构与存储结构必定是一一对应的B 由于计算机存储空间是

15、向量式的存储结构,因此,数据的存储结构一定是线性结构C 程序设计语言中的数据一般是顺序存储结构,因此,利用数组只能处理线性结构D 以上三种说法都不对18 已知数据表 A中每个元素距其最终位置不远,为节省时间,应采用的算法是A 堆排序B 直接插入排序C 快速排序D B)和 C)19 下列数据结构中,按先进后出原则组织数据的是 A 线性链表B 栈C 循环链表D 顺序表20 下列关于栈的叙述正确的是 A 栈按“先进先出“组织数据B 栈按“先进后出“组织数据C 只能在栈底插入数据D 不能删除数据21 按照“先进先出”原则组织数据的数据结构是() 。A 队列B 栈C 双向链表D 二叉树22 栈通常采用的

16、两种存储结构是 A 顺序存储结构和链式存储结构B 散列方式和索引方式C 链表存储结构和数组D 线性存储结构和非线性存储结构23 栈底至栈顶依次存放元素 A、B、C、D,在第五个元素 E入栈前,栈中元素可以出栈,则出栈序列可能是A ABCEDB DCBEAC DBCEAD CDABE24 一个栈的初始状态为空。现将元素 1、2、3、4、5、A、B、C、D、E 依次入栈,然后依次出栈,则元素出栈的顺序是_。Comment g25: B【解析】 由栈“后进先出“ 的特点可知 :A)中 e1不可能比 e2先出,C)中 e1不可能比 e2先出,D) 中栈是先进后出的,所以不可能是任意顺序。B)中出栈过程

17、如下图所示:Comment g26: C【解析】 队列是一种操作受限的线性表。它只允许在线性表的一端进行插入操作,另一端进行删除操作。其中,允许插入的一端称为队尾(rear),允许删除的一端称为队首(front)。队列具有先进先出的特点,它是按“先进先出 “的原则组织数据的。Comment g27: D 解析:队列是一种操作受限的线性表。它只允许在线性表的一端进行插入操作,另一端进行删除操作。其中,允许插入的一端称为队尾(rear),允许删除的一端称为队首(front)。队列具有先进先出的特点,它是按“先进先出 “的原则组织数据的,故本题答案为 D)。Comment g28: C【解析】栈和队

18、列都是一种特殊的操作受限的线性表,只允许在端点处进行插入和删除。二者的区别是:栈只允许在表的一端进行插入或删除操作,是一种“后进先出“的线性表;而队列只允许在表的一端进行插入操作,在另一端进行删除操作,是一种“先进先出“的线性表。Comment g29: D【解析】循环队列是线性表的一种,所以选项 A)错误。循环队列的入队和出队需要队尾指针和队头共同指针完成,所以选项 B)和 C)错误。Comment g30: B【解析】 顺序存储结构中,数据元素存放在一组地址连续的存储单元中,每个数据元素地址可通过公式 LOC(ai)=LOC(a1)+(i-1)L计算得到,从而实现了随机存取。对于链式存储结

19、构,要对某结点进行存取,都得从链的头指针指向的结点开始,这是一种顺序存取的存储结构。Comment g31: A【解析】本题考查的是线性单链表、双向链表与循环链表的结构及其基本运算。在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。Comment g32: A【解析】顺序存储方式是把逻辑上相邻的结点存储在物理上相邻的存储单元里,结点之间的关系由存储单元的邻接关系来体现。其优点是占用最少的存储空间。所以选项 D)错误。顺序存储结构可以存储如二叉树这样的非线性结构,所以选项 B)错误。链式存储结构

20、也可以存储线性表,所以选项C)错误。A 12345ABCDE B EDCBA54321C ABCDE12345 D 54321EDCBA25 如果进栈序列为 e1,e2,e3,e4,则可能的出栈序列是 A e3,e1,e4,e2B e2,e4,e3,e1C e3,e4,e1,e2D 任意顺序 26 下列关于队列的叙述中正确的是 A 在队列中只能插入数据B 在队列中只能删除数据C 队列是先进先出的线性表D 队列是先进后出的线性表27 下列对队列的叙述正确的是 A 队列属于非线性表 B 队列按“先进后出“原则组织数据 C 队列在队尾删除数据 D 队列按“先进先出“原则组织数据28 栈和队列的共同点

21、是A 都是先进后出B 都是先进先出C 只允许在端点处插入和删除元素D 没有共同点29 下列叙述中正确的是_。A 循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B 在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C 在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D 循环队列中元素的个数是由队头指针和队尾指针共同决定的30 线性表的顺序存储结构和线性表的链式存储结构分别是 A 顺序存取的存储结构、顺序存取的存储结构 B 随机存取的存储结构、顺序存取的存储结构 C 随机存取的存储结构、随机存取的存储结构 D 任意存取的存储结构、任意存取的存储结构31 下列对于线性

22、链表的描述中正确的是A 存储空间不一定是连续的,且各元素的存储顺序是任意的B 存储空间不一定是连续的,且前件元素一定存储在后件元素的前面C 存储空间必须连续,且前件元素一定存储在后件元素的前面D 存储空间必须连续,且各元素的存储顺序是任意的32 下列叙述中正确的是_。Comment g33: C【解析】A 项中:链式存储结构由于有指针域的存在,其比顺序存储结构的存储密度要小,即:相同存储空间下存的数据少。选项中的叙述是正确的。B项中:链式存储结构可通过指针访问下一个结点,但此结点可能与上一结点相邻, 也可能不相邻。选项中的叙述是正确的。C项中:链式存储结构如果要计算第I 个结点的存储地址,不能

23、直接从首结点直接计算,而必须通过指针域来顺序查找,最后再定位。选项中的叙述是错误的。D项中:链式存储结构在插入、删除结点时,可通过修改指针域的值来完成,而不必移动其他结点,操作方便。选项中的叙述是正确的因此本题的正确答案为 C 。Comment g34: C【解析】 树是 N(N0)个结点的有限集合,当N=0, 时称为空树,对于空树没有根结点,即根结点的个数为 0,对于非空树有且只有一个根结点,所以树的根结点数目为 0或 1。Comment g35: D【命题目的】 本题考查了二叉树的基本概念。 【解题要点】 在二叉树中,叶子节点的度是 1;当该二叉树为空树时 ,根节点的度为零;为非空树时,根

24、节点的度为 2。 【考点链接】 二叉树的基本性质。Comment g36: D【解析】 具有 3个结点的二叉树有以下的几种形态: Comment g37: A解析:对于任何一棵二叉树 T,如果其终端结点(叶子)数为 n1,度为 2的结点数为 n2,则 n1=n2+1。所以该二叉树的叶子结点数等于 n+1。Comment g38: A【解析】 在任意一棵二叉树中,若终端结点(叶子)的个数为 n1,则度为2的结点数 n2=n1-1。本题中度为 0的节点即叶子节点,故总节点数=度为0的节点数+度为 1的节点数+度为 2的节点数=70+80+69=219。Comment g39: C【解析】 满二叉树

25、是指除最后一层外,每一层上的所有结点都有两个叶子结点。在满二叉树中,层上的结点数都达到最大值,即在满二叉树的第 k层上有 2k-1个结点,且深度为 m的满二叉树有 2m-1个结点。Comment g40: D【解析】 依据后序遍历序列可确定根结点为 c;再依据中序遍历序列可知其左子树由 deba构成,右子树为空;又由左子树的后序遍历序列可知其根结点为 e,由中序遍历序列可知其左子树为 d,右子树由 ba构成,如下图所示,求得该二叉树的前序遍历序列为选项 D)。A 顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B 顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C

26、顺序存储结构能存储有序表,链式存储结构不能存储有序表D 链式存储结构比顺序存储结构节省存储空间33 以下关于链式存储结构的叙述中,哪一条是不正确的A 结点除自身信息外还包括指针域,因此存储密度小于顺序存储结构B 逻辑上相邻的结点物理上不必相邻C 可以通过计算直接确定第 I个结点的存储地址D 插入、删除运算操作方便,不必移动结点34 树是结点的集合,它的根结点数目是 A 有且只有 1B 1或多于 1 C 0或 1 D 至少 235 在下列关于二叉树的叙述中,正确的一项是 A 在二叉树中,任何一个结点的度都是 2B 二叉树的度为 2C 在二叉树中至少有一个结点的度是 2D 一棵二叉树的度可以小于

27、236 具有 3个结点的二叉树有 A 2种形态B 4种形态C 7种形态D 5种形态37 某二叉树中有 n个度为 2的结点,则该二叉树中的叶子结点数为 A n+1B n-1C 2nD n/238 一棵二叉树中共有 70个叶子结点与 80个度为 1的结点,则该二叉树中的总结点数为 A 219B 221C 229D 23139 在深度为 5的满二叉树中,叶子结点的个数为 A 32B 31C 16D 1540 已知二叉树后序遍历序列是 dabec,中序遍历序列是 debac,它的前序遍历序列是 Comment g41: D【解析】 前序遍历的第一个结点 a为树的根节点;中序遍历中 a的左边的结点为 a

28、的左子树,a 的右边的结点为a的右子树;再分别对 a的左右子树进行上述两步处理,直到每个结点都找到正确的位置。Comment g42: B【命题目的】 本题考查二叉树的遍历。 【解题要点】 所谓二叉树的前序遍历(DLR)是指在访问根结点、遍历左子树与遍历右子树这 3者中,首先访问根结点,然后遍历左子树,最后遍历右子树,并且,在遍历左右子树时,上述规则同样适用,即“根- 左-右“,故该二叉树的前序遍历结果为“ATBZXCYP“。 【考点链接】 对于本题,若使用后序遍历和中序遍历的结果分别为“ZBTYCPXA“和 “TZBACYXP“。Comment g43: B【解析】 顺序查找是从线性表的第一

29、个元素开始依次向后查找,如果线性表中的第一个元素就是要查找的元素,则只需要做一次比较就查找成功;但如果要查找的元素是线性表中的最后一个元素,或者要查找元素不在线性表中,则需要与线性表中所有元素进行比较,这是顺序查找的最坏情况,比较次数为线性表的长度。Comment g44: AComment g45: C【解析】二分查找法也称为折半查找法。它的基本思想是:将 n个元素分成个数大致相同的两半,取 an/2与欲查找的 x作比较,如果 xan/2,则找到 x,算法终止;如果 xan/2,则只要在数组 a的右半部继续搜索 x。每次余下 n/(2i)个元素待比较,当最后剩下一个时,即 n/(2i)1。故

30、,n2 i; 所以 ilog 2n。Comment g46: B【解析】二分法查找只适用于顺序存储的有序表。在此所说的有序表是指线性表中的元素按值非递减排列(即从小到大,但允许相邻元素值相等) 。设有序线性表的长度为 n,被查元素为 x,则二分查找的方法如下:将 x 与线性表的中间项进行比较,若中间项的值等于 x,则说明查到,查找结束; 若 x 小于中间项的值,则在线性表的前半部分(即中间项以前的部分)以相同的方法进行查找;若 x大于中间项的值 ,则在线性表的后半部分(即中间项以后的部分)以相同的方法进行查找。这个过程一直进行到查找成功或子表长度为 0(说明线性表中没有这个元素)为止。顺序查找

31、又称顺序搜索。顺序查找一般是指在线性表中查找指定的元素,其基本方法如下:从线性表的第一个元素开始,依次将线性表中的元素与被查元素进行比较,若相等则表示找到(即查找成功) ;若线性表中所有的元素都与被查元素进行了比较但都不相等,则表示线性表中没有要找的元素(即查找失败) 。由此可见,对于长度为 n 的有序线性表,在最坏情况下,二分查找只需要比较 log 2 n次 ,而顺序查找需要比较 n 次。Comment g47: C【解析】 冒泡排序的基本思想是对当前未排序的全部结点自上而下依次进行比较和调整,让键值较大的结点下沉,键值较小的结点往上冒。也就是说,每当两相邻结点比较后发现它们的排列与排序要求

32、相反时,就将它们互换。对 n个结点的线性表采用冒泡排序,冒泡排序的外循环最多执行 n-1遍。第一遍最多执行 n-1次比较,第二遍最多执行 n-2次比较,依次类推, 第 n-1遍最多执行 1次比较。因此,整个排序过程最多执行 n(n-1)/2次比较。A acbedB decabC deabcD cedba41 若某二叉树的前序遍历访问顺序是 abdgcefh,中序遍历访问顺序是 dgbaechf,则其后序遍历的结点访问顺序是 A bdgcefhaB gdbecfhaC bdgaechfD gdbehfca42 设有下列二叉树:对此二叉树前序遍历的结果为 A ZBTYCPXAB ATBZXCYPC

33、 ZBTACYXPD ATBZXCPY43 在长度为 64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为 A 63B 64C 6D 744 对线性表进行二分法检索,其前提条件是() 。A 线性表以顺序方式存储,并按关键码值排好序B 线性表以顺序方式存储,并按关键码的检索频率排好序C 线性表以链接方式存储,并按关键码值排好序D 线性表以链接方式存储,并按关键码的检索频率排好序45 在长度为 n的有序线性表中进行二分查找,最坏情况下需要比较的次数是_。A O(n)B O(n2)C O(log2n)D O(nlog2n)46 设有一个已按各元素的值排好序的顺序表(长度大于 2) ,现分别用顺

34、序查找法和二分查找法查找与给定值 k相等的元素,比较次数分别是 s 和 b,在查找不成功的情况下,s 和 b的关系是A s= bB s bC s =b47 冒泡排序在最坏情况下的比较次数是 Comment g48: D【解析】 假设线性表的长度为 n,则在最坏情况下,冒泡排序要经过 n/2遍的从前往后的扫描和 n/2遍的从后往前的扫描,需要的比较次数为 n(n-1)/2。Comment g49: D【解析】 在最坏情况下,快速排序、冒泡排序和直接插入排序需要的比较次数都为 n(n-1)/2,堆排序需要的比较次数为 nlog2n。Comment g50: A【解析】快速排序的基本方法:在待排序的

35、序列中任取一个记录,以它为基准用交换的方法将所有的记录分成两个部分关键码比它小的一个部分和关键码比它大的另一个部分,再分别对两个部分实施上述过程,一直重复到排序完成为止。最坏的情况指的是对已经排好序的记录进行完全相反的排序。 因此本题的正确答案是A 。Comment g51: 有穷Comment g52: 时间Comment g53: 空间复杂度【解析】算法的空间复杂度是指算法执行过程中所需要的存储空间。Comment g54: n/2【解析】 在线性表的任何位置插入一个元素的概率相等,即概率为p=1/(n+1),则插入一个元素时所需移动元素的平均次数为 n/2。Comment g55: 逻辑

36、【解析】数据结构是指带有结构的数据元素的集合。它包括数据的逻辑结构和数据的存储结构。数据的逻辑结构是指反映数据元素之间逻辑关系的数据结构。数据的存储结构是指数据在计算机存储空间中的存放形式。Comment g56: 物理独立性【解析】数据独立性是数据与程序间的互不依赖性,即数据库中数据独立于应用程序而不依赖于应用程序。也就是说,数据的逻辑结构、存储结构与存取方式的改变不会影响应用程序。数据独立性一般分为物理独立性与逻辑独立性。Comment g57: 非线性结构【解析】 数据的逻辑结构有线性结构和非线性结构两大类。Comment g58: 线性结构【命题目的】 本题考查了数据结构的基本概念。

37、【解题要点】 与栈类似,队列也是线性表,可以采用链式存储结构,所以带链的队列属于线性结构。 【考点链接】 数据的逻辑结构和存储结构。Comment g59: 线性结构【命题目的】 本题考查了数据结构的基本概念。 【解题要点】 与栈类似,队列也是线性表,可以采用链式存储结构,所以带链的队列属于线性结构。 【考点链接】 数据的逻辑结构和存储结构。Comment g60: 栈【解析】栈是限定只在一端进行插入和删除操作的线性表,通常称插入、删除的这一端为栈顶,另一端为栈底。栈按照“先进后出 “或“后进先出“的原则组织数据。Comment g61: 先移动栈顶指针,后存入元素Comment g62: 链

38、式【解析】 数据结构包括数据的逻辑结构和存储(物理)结构,其中逻辑结构分为线性结构和非线性结构,存储结构包括顺序结构和链式结构。在循环队列中,队尾的指针指向队首元素,是队列的链式存储结构。Comment g63: 24【解析】 实现循环队列时,头指针指向第一个元素的前一个空间,尾指针指向最后一个元素。 因此,此时队列中 6,7,8,.,29这二十四个空间存有元素,即队列中有 29-5=24个元素。Comment g64: 15【解析】在循环队列中,用队尾指针rear指向队列中的队尾元素,用排头指针 front指向排头元素的前一个位置,因此,从排头指针 front指向的后一个位置直至队尾指针 r

39、ear指向的位置之间所有的元素均为队列中的元素。本题中队列的容量为 50,头指针为 45,那么从头指针到 50之间有46、47、48、49、50,共 5个元素,尾指针为 10,那么从 1到 10之间有10个元素,所以共有 15个元素。Comment g65: 上溢【解析】 入队运算是指在循环队列的队尾加入一个新元素。这个运算有两个基本操作:首先将队尾指针进一(即 rear=rear+1),并当 rear=m+1时,置rear=1;然后将新元素插入队尾指针指向的位置。当循环队列非空(s=1)且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算,这种情况称为“ 上溢“。Comment g6

40、6: 存储结构【解析】 数据的逻辑结构是指反映数据元素之间逻辑关系的数据结构;数据的存储结构是指数据的逻辑结构在计算机存储空间中的存放形式。在数据的存储结构中,不仅要存放各数据元素的信息,还需要存放各数据元素之间前后件关系的信息。Comment g67: DCBEA【解析】栈操作原则是“后进先出 “,栈底至栈顶依次存放元素A、B、C 、D,则表明这 4个元素中D是最后进栈,B、C 处于中间, A最早进栈。所以出栈时一定是先出D,再出 C,最后出 A。A n(n+1)/2B nlog2nC n(n-1)/2D n/248 假设线性表的长度为 n,则在最坏情况下,冒泡排序需要的比较次数为 A lo

41、g2nB n2C O(n1.5)D n(n-1)/249 对长度为 n的线性表排序,在最坏情况下,比较次数不是 n(n-1)/2的排序方法是 A 快速排序B 冒泡排序 C 直接插入排序D 堆排序 50 用快速排序法对下列关键字序列进行排序,速度最慢的是A 7, 11,19,23,25,27,32 B 27,25,32,19,23,7,11 C 3, 11,19,32,27,25,7 D 123,27,7,19,11,25,32 填充题1 在算法的 5个特性中,算法必须能在执行有限个步骤之后终止指的是算法的【2】性。2 算法的复杂度主要包括【1】复杂度和空间复杂度。3 算法的【1】是指执行这个算

42、法所需要的内存空间。4 长度为 n的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为【5】 。5 数据结构包括数据的【5】结构和数据的存储结构。6 当数据的物理结构(存储结构 )改变时,不影响数据库的逻辑结构 ,从而不致引起应用程序的变化,这是指数据的【5】 。7 数据的逻辑结构有线性结构和【3】两大类。8 数据结构分为线性结构和非线性结构,线性表、栈和队列都属于【1】 。9 数据结构分为线性结构和非线性结构,带链的队列属于【2】 。10 按“先进后出 “原则组织数据的数据结构是 【4】 。11 通常元素进栈的操作是【2】 。12 线性表的存储结构

43、主要分为顺序存储结构和链式存储结构。队列是一种特殊的线性表,循环队列是队列的【3】存储结构。13 设某循环队列的容量为 50,头指针 front=5(指向队头元素的前一位置 ),尾指针 rear=29(指向队尾元素),则该循环队列中共有 【3】个元素。14 设某循环队列的容量为 50,如果头指针 front=45(指向队头元素的前一位置) ,尾指针rear=10(指向队尾元素) ,则该循环队列中共有【2】个元素。15 当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算。这种情况称为【3】 。16 数据结构分为逻辑结构与存储结构,线性链表属于 【3】 。17 栈底至栈顶依

44、次存放元素 A、B、C、D,在第五个元素 E入栈前,栈中元素可以出栈,则出栈序列可能是【1】 。Comment g68: 前件【解析】 在树形结构中,每一个结点只有一个前件,称为父结点;没有前件的结点只有一个,称为树的根结点;每一个结点可以有多个后件,它们都称为该结点的子结点;没有后件的结点称为叶子结点。Comment g69: 19【解析】 在任意一棵二叉树中,度为0的结点(即叶子结点)总是比度为 2的结点多一个。Comment g70: n+1【解析】 在任意一棵二叉树中,度为0的结点(即叶子结点)总是比度为 2的结点多一个。Comment g71: 350【解析】 完全二叉树中,设高度为

45、 n,则除 h层外其它层结点数都到达最大,可以算出 h=10,1至 9层结点个数为29-1=511,最后一层结点个数为 700-511=189个,189/2=95,除最后一层外共有结点 2(9-1)-95=161个,所以所有的结点个数为:189+161=350 个。Comment g72: 31【解析】深度为 5 的二叉树结点最多的情况是满二叉树的情况。深度为 m 的满二叉树有 2 的 m 次幂减 1 个结点。此题中,结点个数为:2 5 - 1 = 31。Comment g73: 16【解析】 在满二叉树中,叶子结点数目的计算公式为 2(n-1),其中 n为树的深度。Comment g74:

46、63解析:根据二叉树的性质 ,一棵深度为 k的满二叉树有 2k-1个结点 ,所以深度为 7的满二叉树有 27-1=127个节点;又因为在任意一棵二叉树中 ,若终端结点的个数为 n0,度为 2的结点数为 n2,则 n0=n2+1,即所以总节点数为n0+n2=2n2+1=127,所以 n2=63,即度为2的结点个数为 63,所以【1】 应填入63。Comment g75: cedba【解析】依据后序遍历序列可确定根结点为 c;再依据中序遍历序列可知其左子树由 deba构成,右子树为空;又由左子树的后序遍历序列可知其根结点为 e,由中序遍历序列可知其左子树为 d,右子树由 ba构成。因此为cedba

47、。Comment g76: DBEAFC【解析】所谓中序遍历是指在访问根结点、遍历左子树与遍历右子树这三者中,首先遍历左子树,然后访问根结点,最后遍历右子树;并且在遍历左、右子树时,仍然先遍历左子树,然后访问根结点,最后遍历右子树。Comment g77: DBXEAYFZC【解析】二叉树中序遍历的顺序为先遍历左子树,然后访问根结点,最后遍历右子树。Comment g78: ACBDFEHGP【解析】 二叉树中序遍历的含义是:首先按中序遍历根结点的左子树 ,然后访问根结点,最后按中序遍历根结点的右子树,中序遍历二叉树的过程是一个递归的过程。根据题目中给出的二叉树的结构可知中序遍历的结果是:AC

48、BDFEHGP。Comment g79: 按关键字排序【解析】二分法查找只适用于顺序存储的有序表。在此所说的有序表是指线性表中的元素按值非递减排列(即从小到大,但允许相邻元素值相等) 。这是二分查找法的前提条件。Comment g80: 交换排序Comment g81: O(nlog2n)【解析】在最坏情况下,冒泡排序所需要的比较次数为 O(n(n-1)/2);简单插入排序所需要的比较次数为 O(n(n-1)/2);希尔排序所需要的比较次数为O(n 1.5) ;堆排序所需要的比较次数为 O(nlog2n)。Comment g82: A【解析】 当今主导的程序设计风格是“清晰第一 ,效率第二“ 的观点。结构化程序设计思想提出之前,在程序设计中曾强调程序的效率,而实际应用中,人们更重视程序的可理解性。Comment g83: D【命题目的】 本题考查考生的结构化程序设计的思想。 【解题要点】 结构化程序设计强调的是程序的易读性。 【考点链接】 结构化程序

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报