计算机二级公共基础知识汇总题库及标准答案分析.doc

收藏

编号:2625936    类型:共享资源    大小:854.67KB    格式:DOC    上传时间:2020-04-25
14
金币
关 键 词:
计算机 二级 公共 基础知识 汇总 题库 标准答案 分析
资源描述:
,. 全国计算机等级考试二级公共基础知识考题库全国计算机等级考试二级公共基础知识考题库 第一章 数据结构 一、选择题 (1)下列数据结构中,能用二分法进行查找的是 A)顺序存储的有序线性表 B)线性链表 C)二叉链表 D)有序线性链表 【答案】A 【解析】二分查找只适用于顺序存储的有序表。在此所说的有序表是指线性表中的元素按值非递减排列 (即从小到大.但允许相邻元素值相等)的。选项 A 正确。 (2)下列关于栈的描述正确的是 A)在栈中只能插入元素而不能删除元素 B)在栈中只能删除元素而不能插入元素 C)栈是特殊的线性表,只能在一端插入或删除元素 D)栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素 【答案】C 【解析】栈是一种特殊的线性表,其插入与删除运算都只在线性表的一端进行。由此可见,选项 A、选项 B 和选项 D 错误,正确答案是选项 C。 (3)下列叙述中正确的是 A)一个逻辑数据结构只能有一种存储结构 B)数据的逻辑结构属于线性结构,存储结构属于非线性结构 C)一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率 D)一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率 【答案】D 【解析】一般来说,一种数据的逻辑结构根据需要可以表示成多种存储结构,常用的存储结构有顺序、 链接、索引等存储结构。而采用不同的存储结构,其数据处理的效率是不同的。由此可见,选项 D 的说 法正确。 (4)算法执行过程中所需要的存储空间称为算法的 A)时间复杂度 B)计算工作量 C)空间复杂度 D)工作空间 【答案】c 【解析】算法执行时所需要的存储空间,包括算法程序所占的空间、输入的初始数据 所占的存储空 间以及算法执行过程中所需要的额外空间,其中额外空间还包括算法程序执行过程的工作单元以及某种 数据结构所需要的附加存储空间。这些存储空间共称为算法的空间复杂度。 (5)下列关于队列的叙述中正确的是 A)在队列中只能插入数据 B)在队列中只能删除数据 C)队列是先进先出的线性表 D)队列是先进后出的线性表 【答案】c ,. 【解析】对队列可以进行插入和删除数据的操作,只是插入数据只能在队尾,删除数据只能在队头。所 以队列是先进先出的线性表。 (6)设有下列二叉树: 对此二叉树后序遍历的结果为 A)ABCDEF B)BDAECF C)ABDCEF D)DBEFCA 【答案】D 【解析】二叉树的遍历分为先序、中序、后序三种不同方式。本题要求后序遍历。其遍历顺序应该为: 后序遍历左子树一>后序遍历右子树一>访问根结点。按照定义,后序遍历序列是 DBEFCA,故答案为 D。 (7) 下列叙述中正确的是( ) A)程序执行的效率与数据的存储结构密切相关 B)程序执行的效率只取决于程序的控制结构 C)程序执行的效率只取决于所处理的数据量 D)以上三种说法都不对 【答案】A 【解析】本题考查程序效率。程序效率是指程序运行速度和程序占用的存储空间。影响程序效率的因素 是多方面的,包括程序的设计、使用的算法、数据的存储结构等。在确定数据逻辑结构的基础上,选择 一种合适的存储结构,可以使得数据操作所花费的时间少,占用的存储空间少,即提高程序的效率。因 此,本题选项 A 的说法是正确的。 (8) 下列叙述中正确的是( ) A)数据的逻辑结构与存储结构必定是一一对应的 B)由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构 C)程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线线结构 D)以上三种说法都不对 【答案】D 【解析】本题考查数据结构的基本知识。 数据之间的相互关系称为逻辑结构。通常分为四类基本逻辑结构,即集合、线性结构、树型结构、图状 结构或网状结构。存储结构是逻辑结构在存储器中的映象,它包含数据元素的映象和关系的映象。存储 结构在计算机中有两种,即顺序存储结构和链式存储结构。顺序存储结构是把数据元素存储在一块连续 地址空间的内存中;链式存储结构是使用指针把相互直接关联的节点链接起来。因此,这两种存储结构 都是线性的。可见,逻辑结构和存储结构不是一一对应的。因此,选项 A 和选项 B 的说法都是错误的。 无论数据的逻辑结构是线性的还是非线性的,只能选择顺序存储结构或链式存储结构来实现存储。程序 CB A DEF ,. 设计语言中,数组是内存中一段连续的地址空间,可看作是顺序存储结构。可以用数组来实现树型逻辑 结构的存储,比如二叉树。因此,选项 c 的说法是错误的 (9) 冒泡排序在最坏情况下的比较次数是( ) A)n(n+1)/2 B)nlog2n C)n(n-1)/2 D)n/2 【答案】C 【解析】冒泡排序的基本思想是:将相邻的两个元素进行比较,如果反序,则交换;对于一个待排序的 序列,经一趟排序后,最大值的元素移动到最后的位置,其他值较大的元素也向最终位置移动,此过程 称为一趟冒泡。对于有 n 个数据的序列,共需 n-1 趟排序,第 i 趟对从 l 到 n-i 个数据进行比较、交换。 冒泡排序的最坏情况是待排序序列逆序,第 l 趟比较 n-1 次,第 2 趟比较 n-2 次。依此类推,最后趟比 较 1 次,一共进行 n-l 趟排序。因此,冒泡排序在最坏情况下的比较次数是(n-1)+(n-2)+…+l,结果为 n(n-1)/2。本题的正确答案是选项 c。 (10) 一棵二叉树中共有 70 个叶子结点与 80 个度为 1 的结点,则该二叉树中的总结点数为( ) A)219 B)221 C)229 D)231 【答案】A 【解析】本题考查数据结构中二叉树的性质。二叉树满足如下一条性质,即:对任意一棵二叉树,若终 端结点(即叶子结点)数为 n0,而其度数为 2 的结点数为 n2,则 n0= n2+l。 根据这条性质可知,若二叉树中有 70 个叶子结点,则其度为 2 的结点数为 70-1,即 69 个。二叉树的总 结点数是度为 2、度为 1 和叶子结点的总和,因此,题目中的二叉树总结点数为 69+80+70,即 219。因此, 本题的正确答案是选项 A。 (11) 下列叙述中正确的是( ) A)算法的效率只与问题的规模有关,而与数据的存储结构无关 B)算法的时间复杂度是指执行算法所需要的计算工作量 C)数据的逻辑结构与存储结构是一一对应的 D)算法的时间复杂度与空间复杂度一定相关 【答案】B 【解析】本题考查数据结构中有关算法的基本知识和概念。数据的结构,直接影响算法的选择和效率。 而数据结构包括两方面,即数据的逻辑结构和数据的存储结构。因此,数据的逻辑结构和存储结构都影 响算法的效率。选项 A 的说法是错误的。算法的时间复杂度是指算法在计算机内执行时所需时间的度量; 与时间复杂度类似,空间复杂度是指算法在计算机内执行时所需存储空间的度量。因此,选项 B 的说法 是正确的。 数据之间的相互关系称为逻辑结构。通常分为四类基本逻辑结构,即集合、线性结构、树型结构、图状 结构或网状结构。存储结构是逻辑结构在存储器中的映象,它包含数据元素的映象和关系的映象。存储 结构在计算机中有两种,即顺序存储结构和链式存储结构。可见,逻辑结构和存储结构不是一一对应的。 因此,选项 c 的说法是错误的。有时人们为了提高算法的时间复杂度,而以牺牲空间复杂度为代价。但 是,这两者之间没有必然的联系。因此,选项 D 的说法是错误的。 (12)下列关于算法的时间复杂度陈述正确的是 A) 算法的时间复杂度是指执行算法程序所需要的时间 B) 算法的时间复杂度是指算法程序的长度 ,. A C) 算法的时间复杂度是指算法执行过程中所需要的基本运算次数 D) 算法的时间复杂度是指算法程序中的指令条数 【答案】C 【解析】算法的时间复杂度是指执行算法所需要的计算工作量,也就是算法在执行过程中所执行的基本 运算的次数,而不是指程序运行需要的时间或是程序的长度。 (13)下列关于栈的叙述中正确的是 A)在栈中只能插入数据 B)在栈中只能删除数据 C)栈是先进先出的线性表 D)栈是先进后出的线性表 【答案】D 【解析】对栈可进行插入和删除数据的操作,但必须牢记插入和删除数据都只能是在栈顶,是一种特殊 的线性表。所以栈是先进后出的线性表。 (14)设有下列二叉树: FF 对此二叉树中序遍历的结果为 A)ABCDEF B)DAECF C)BDAECF D)DBEFCA 【答案】C 【解析】二叉树的遍历分为先序、中序、后序三种不同方式。本题要求中序遍历,其遍历顺序应该为: 中序遍历左子树->访问根结点->中序遍历右子树。按照定义,中序遍历序列是 BDAECF,故答案为 B。 (15)按照“后进先出”原则组织数据的数据结构是 A)队列 B)栈 C)双向链表 D)二叉树 【答案】B 【解析】 “后进先出”表示最后被插入的元素最先能被删除。选项 A 中,队列是指允许在一端进行插入、 而在另一端进行删除的线性表,在队列这种数据结构中,最先插入的元素将最先能够被删除,反之,最 后插入的元素将最后才能被删除,队列又称为“先进先出”的线性表,它体现了“先来先服务”的原则: 选项 B 中,栈顶元素总是最后被插入的元素,从而也是最先能被删除的元素,栈底元素总是最先被插入 的元素,从而也是最后才能被删除的元素。队列和栈都属于线性表,它们具有顺序存储的特点,所以才 有“先进先出”和“后进先出”的数据组织方式。双向链表使用链式存储方式.二叉树也通常采用链式 存储方式,它们的存储数据的空间可以是不连续的,各个数据结点的存储顺序与数据元素之间的逻辑关 系可以不一致。所以选项 c 和选项 D 错。 (16)下列叙述中正确的是 A)线性链表是线性表的链式存储结构 B)栈与队列是非线性结构 F BC DE ,. C)双向链表是非线性结构 D)只有根结点的二叉树是线性结构 【答案】A 【解析】一个非空的数据结构如果满足下列两个条件:(1)有且只有一个根结点;(2)每一个结点最多有一 个前件,也最多有一个后件。则称为线性结构。线性链表是线性表的链式存储结构,选项 A 的说法是正 确的。栈与队列是特殊的线性表,它们也是线性结构,选项 B 的说法是错误的;双向链表是线性表的链 式存储结构,其对应的逻辑结构也是线性结构,而不是非线性结构,选项 c 的说法是错误的;二叉树是 非线性结构,而不是线性结构,选项 D 的说法是错误的。因此,本题的正确答案为 A (17)对如下二叉树 进行后序遍历的结果为 A)ABCDEF B)DBEAFC C)ABDECF D)DEBFCA 【答案】D 【解析】二叉树后序遍历的简单描述如下:若二叉树为空,则结束返回。否则(1)后序遍历左子树;(2) 后序遍历右子树;(3)访问根结点。也就是说,后序遍历是指在访问根结点、遍历左子树与遍历右子树这 三者中,首先遍历左子树,然后遍历右子树,最后访问根结点,并且,在遍历左、右子树时,仍然先遍 历左子树,然后遍历右子树,最后访问根结点。根据后序遍历的算法,后序遍历的结果为 DEBFCA。 (18) 下列对队列的叙述正确的是( ) A)队列属于非线性表 B)队列按“先进后出”原则组织数据 C)队列在队尾删除数据 D)队列按“先进先出”原则组织数据 【答案】D 【解析】本题考查数据结构中队列的基本知识。队列是一种限定性的线性表,它只允许在表的一端插入 元素,而在另一端删除元素,所以队列具有先进先出的特性。在队列中,允许插入元素的一端叫做队尾, 允许删除的一端则称为队头。这与日常生活中的排队是一致的,最早进入队列的人最早离开,新来的人 总是加入到队尾。因此,本题中只有选项 D 的说法是正确的。 (19) 对下列二叉树进行前序遍历的结果为( ) A BC DEF ,. A) DYBEAFCZX B) YDEBFZXCA C) ABDYECFXZ D) ABCDEFXYZ 【答案】C 【解析】本题考查数据结构中二叉树的遍历。根据对二叉树根的访问先后顺序不同,分别称为前序遍历、 中序遍历和后序遍历。这三种遍历都是递归定义的,即在其子树中也按照同样的规律进行遍历。下面就 是前序遍历方法的递归定义。当二叉树的根不为空时,依次执行如下 3 个操作: (1)访问根结点 (2)按先序遍历左子树 (3)按先序遍历右子树 根据如上前序遍历规则,来遍历本题中的二叉树。首先访问根结点,即 A,然后遍历 A 的左子树。遍历 左子树同样按照相同的规则首先访问根结点 B,然后遍历 B 的左子树。遍历 B 的左子树,首先访问 D, 然后访问 D 的左子树,D 的左子树为空,接下来访问 D 的右子树,即 Y。遍历完 B 的左子树后,再遍历 B 的右子树,即 E。到此遍历完 A 的左子树,接下来遍历 A 的右子树。按照同样的规则,首先访问 C,然 后遍历 c 的左子树。即 F。c 的左子树遍历完,接着遍历 c 的右子树。首先访问右子树的根结点 X,然后 访问 X 的左子树,X 的左子树,即 Z,接下来访问 X 的右子树,右子树为空。到此,把题目的二叉树进 行了一次前序遍历。遍历的结果为 ABDYECFXZ,故本题的正确答案为选项 C。 (20) 某二叉树中有 n 个度为 2 的结点,则该二叉树中的叶子结点数为( ) A) n+1 B) n-1 C) 2n D) n/2 【答案】A 【解析】本题考查数据结构中二叉树的性质。 二叉树满足如下一条性质,即:对任意一棵二叉树,若终 端结点(即叶子结点)数为 no,而其度数为 2 的结点数为 n2,则 n0=n2+l。 根据这条性质可知,若二叉树中有 n 个度为 2 的结点,则该二叉树中的叶子结点数为 n+l。因此,本题的 正确答案是选项 A。 (21)在深度为 7 的满二叉树中,叶子结点的个数为 A)32B)31 C)64 D)63 【答案】C 【解析】在二叉树的第 k 层上,最多有 2k-1(k≥1)个结点。对于满二叉树来说,每一层上的结点数都达到 最大值,即在满二叉树的第 k 层上有 2k-1个结点。因此,在深度为 7 的满二叉树中,所有叶子结点在第 7 层上.即其结点数为 2k-1=27-1=64 因此.本题的正确答案为 c。 (22)下列叙述中正确的是 A)一个算法的空间复杂度大,则其时间复杂度也必定大 B)一个算法的空间复杂度大,则期时间复杂度必定小 C)一个算法的时间复杂度大,则其空间复杂度必定小 D)上述三种说法都不对 【答案】D ,. F CE ADG B 【解析】时间复杂度是指一个算法执行时间的相对度量;空间复杂度是指算法在运行过程中临时占用所 需存储空间大小的度量。人们都希望选择一个既省存储空间、又省执行时间的算法。然而,有时为了加 快算法的运行速度,不得不增加空间开销;有时为了能有效地存储算法和数据,又不得不牺牲运行时间。 时间和空间的效率往往是一对矛盾,很难做到两全。但是,这不适用于所有的情况,也就是说时间复杂 度和空间复杂度之间虽然经常矛盾。但是二者不存在必然的联系。因此,选项 A、B、c 的说法都是错误 的。故本题的正确答案是 D。 (23)在长度为 64 的有序线性表中进行顺序查找,最坏情况下需要比较的次数为 A)63 B)64 C)6 D)7 【答案】B 【解析】在长度为 64 的有序线性表中,其中的 64 个数据元素是按照从大到小或从小到大的顺序排列有 序的。在这样的线性表中进行顺序查找,最坏的情况就是查找的数据元素不在线性表中或位于线性表的 最后。按照线性表的顺序查找算法,首先用被查找的数据和线性表的第一个数据元素进行比较。若相等, 则查找成功,否则,继续进行比较,即和线性表的第二个数据元素进行比较。同样,若相等,则查找成 功,否则,继续进行比较。依次类推,直到在线性表中查找到该数据或查找到线性表的最后一个元素, 算法才结束。因此,在长度为 64 的有序线性表中进行顺序查找,最坏的情况下需要比较 64 次。因此, 本题的正确答案为 B。 (24)对下列二叉树 进行中序遍历的结果是 A)ACBDFEG B)ACBDFGE C)ABDCGEF D)FCADBEG 【答案】A 【解析】二叉树的中序遍历递归算法为:如果根不空,则(1)按中序次序访问左子树;(2)访问根结点: (3)按中序次序访问右子树。否则返回。本题中,根据中序遍历算法.应首先按照中序次序访问以 c 为根 结点的左子树,然后再访问根结点 F,最后才访问以 E 为根结点的右子树。遍历以 c 为根结点的左子树同 样要遵循中序遍历算法,因此中序遍历结果为 ACBD;然后遍历根结点 F;遍历以 E 为根结点的右子树, 同样要遵循中序遍历算法,因此中序遍历结果为 EG。最后把这三部分的遍历结果按顺序连接起来,中序 遍历结果为 ACBDFEG。因此,本题的正确答案是 A。 (25)数据的存储结构是指______。 A)存储在外存中的数据B)数据所占的存储空间量 C)数据在计算机中的顺序存储方式 D)数据的逻辑结构在计算机中的表示 【答案】D 【解析】数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构,也称数据的物理结构。 所以选项D正确。 ,. (26)下列关于栈的描述中错误的是______。 A) 栈是先进后出的线性表 B) 栈只能顺序存储 C) 栈具有记忆作用 D) 对栈的插入与删除操作中,不需要改变栈底指针 【答案】B 【解析】本题考核栈的基本概念,我们可以通过排除法来确定本题的答案。栈是限定在一端进行插入与 删除的线性表,栈顶元素总是最后被插入的元素,从而也是最先能被删除的元素;栈底元素总是最先被 插入的元素,从而也是最后才能被删除的元素,即栈是按照“先进后出”或“后进先出”的原则组织数 据的,这便是栈的记忆作用,所以选项 A 和选项 C 正确。对栈进行插入和删除操作时,栈顶位置是动态 变化的,栈底指针不变,选项 D 正确。由此可见,选项 B 的描述错误。 (27)对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是______。 A)冒泡排序为n/2B)冒泡排序为n C)快速排序为nD)快速排序为n(n-1)/2 【答案】D 【解析】假设线性表的长度为n,在最坏情况下,冒泡排序和快速排序需要的比较次数为n(n—1)/2。由 此可见,选项D正确。 (28)对长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为______。 A)log2nB)n/2C)nD)n+1 【答案】C 【解析】在长度为 n 的线性表中进行顺序查找,最坏情况下需要比较 n 次。选项 C 正确。 (29)下列对于线性链表的描述中正确的是______。 A) 存储空间不一定是连续,且各元素的存储顺序是任意的 B) 存储空间不一定是连续,且前件元素一定存储在后件元素的前面 C) 存储空间必须连续,且前件元素一定存储在后件元素的前面 D) 存储空间必须连续,且各元素的存储顺序是任意的 【答案】A 【解析】在链式存储结构中,存储数据的存储空间可以不连续,各数据结点的存储顺序与数据元素之间 的逻辑关系可以不一致,数据元素之间的逻辑关系,是由指针域来确定的。由此可见,选项 A 的描述正 确。 (30)某二叉树中度为 2 的结点有 18 个,则该二叉树中有 ____ 个叶子结点。 【答案】19 【解析】二叉树具有如下性质:在任意一棵二叉树中,度为 O 的结点(即叶子结点)总是比度为 2 的结点 多一个。根据题意,度为 2 的节点为 18 个,那么,叶子结点就应当是 19 个。 (1)线性表若采用链式存储结构时,要求内存中可用存储单元的地址 A)必须是连续的 B)部分地址必须是连续的 ,. C)一定是不连续的 D)连续不连续都可以 解析: 在链式存储结构中,存储数据结构的存储空间可以是连续的,也可以是不连续的,各数据结点的 存储顺序与数据元素之间的逻辑关系可以不一致。故本题答案应该为选项 D) (2)在待排序的元素序列基本有序的前提下,效率最高的排序方法是 A)冒泡排序 B)选择排序 C)快速排序 D)归并排序 解析: 从平均时间性能而言,快速排序最佳,其所需时间最少,但快速排序在最坏情况下的时间性能不 如堆排序和归并排序。当序列中的记录基本有序或元素个数较少时,冒泡排序和简单选择排序为最佳排 序方法,故本题答案应该为选项 A) 。 (3)下列叙述中,错误的是 A)数据的存储结构与数据处理的效率密切相关 B)数据的存储结构与数据处理的效率无关 C)数据的存储结构在计算机中所占的空间不一定是连续的 D)一种数据的逻辑结构可以有多种存储结构 解析: 一般来说,一种数据结构根据需要可以表示成多种存储结构。常用的存储结构有顺序、链接、索 引等,而采用不同的存储结构,其数据处理的效率是不同的;一个数据结构中的各数据元素在计算机存 储空间中的位置关系与逻辑关系是有可能不同的。故本题答案应该为选项 B) 。 (4)希尔排序属于 A)交换排序 B)归并排序 C)选择排序 D)插入排序 解析: 希尔排序的基本思想是把记录按下标的一定增量分组,对每组记录使用插入排序,随增量的逐渐 减小,所分成的组包含的记录越来越多,到增量的值减小到 1 时,整个数据合成一组,构成一组有 序记录,故其属于插入排序方法。故本题答案应该为选项 D) 。 (1)栈和队列的共同特点是 A)都是先进先出 B)都是先进后出 C)只允许在端点处插入和删除元素 D)没有共同点 解析:栈和队列都是一种特殊的操作受限的线性表,只允许在端点处进行插入和删除。二者的区别是: 栈只允许在表的一端进行插入或删除操作,是一种“后进先出”的线性表;而队列只允许在表的一端进 行插入操作,在另一端进行删除操作,是一种“先进先出”的线性表。故本题答案应该为选项 C) 。 (2)已知二叉树后序遍历序列是 dabec,中序遍历序列是 debac,它的前序遍历序列是 A)acbed ,. B)decab C)deabc D)cedba 解析: 依据后序遍历序列可确定根结点为 c;再依据中序遍历序列可知其左子树由 deba 构成,右子树为 空;又由左子树的后序遍历序列可知其根结点为 e,由中序遍历序列可知其左子树为 d,右子树由 ba 构 成,如下图所示。求得该二叉树的前序遍历序列为选项 D) 。 (3)链表不具有的特点是 A)不必事先估计存储空间 B)可随机访问任一元素 C)插入删除不需要移动元素 D)所需空间与线性表长度成正比 解析: 链表采用的是链式存储结构,它克服了顺序存储结构的缺点:它的结点空间可以动态申请和释放; 它的数据元素的逻辑次序靠结点的指针来指示,不需要移动数据元素。但是链式存储结构也有不足 之处:① 每个结点中的指针域需额外占用存储空间;② 链式存储结构是一种非随机存储结构。故 本题答案应该为选项 D) 。 (6)算法的时间复杂度是指 A)执行算法程序所需要的时间 B)算法程序的长度 C)算法执行过程中所需要的基本运算次数 D)算法程序中的指令条数 解析: 算法的复杂度主要包括算法的时间复杂度和算法的空间复杂度。所谓算法的时间复杂度是指执行 算法所需要的计算工作量;算法的空间复杂度一般是指执行这个算法所需要的内存空间。故本题答 案应该为选项 A) 。 (1)已知一棵二叉树前序遍历和中序遍历分别为 ABDEGCFH 和 DBGEACHF,则该二叉树的后序遍历为 A)GEDHFBCA B)DGEBHFCA C)ABCDEFGH D)ACBFEDHG 解析: 利用前序和中序遍历的方法可以确定二叉树的结构,具体步骤如下:① 前序遍历的第一个结点 A 为树的根结点;② 中序遍历中 A 的左边的结点为 A 的左子树,A 右边的结点为 A 的右子树;③ 再分别 对 A 的左右子树进行上述两步处理,直到每个结点都找到正确的位置。故本题答案应该为选项 B) 。 (2)树是结点的集合,它的根结点数目是 A)有且只有 1 ,. B)1 或多于 1 C)0 或 1 D)至少 2 解析: 树是一个或多个结点组成的有限集合,其中一个特定的结点称为根,其余结点分为若干个不相交 的集合。每个集合同时又是一棵树。树有且只有 1 个根结点。故本题答案应该为选项 A) 。 (3)如果进栈序列为 e1,e2,e3,e4,则可能的出栈序列是 A)e3,e1,e4,e2 B)e2,e4,e3,e1 C)e3,e4,e1,e2 D)任意顺序 解析: 由栈"后进先出"的特点可知:A)中 e1 不可能比 e2 先出,C)中 e3 不可能比 e4 先出,且 e1 不 可能比 e2 先出,D)中栈是先进后出的,所以不可能是任意顺序。B)中出栈过程如图所示: 故本题答案应该为选项 B) 。 (4)在设计程序时,应采纳的原则之一是 A)不限制 goto 语句的使用 B)减少或取消注解行 C)程序越短越好 D)程序结构应有助于读者理解 解析:滥用 goto 语句将使程序流程无规律,可读性差,因此 A)不选;注解行有利于对程序的理解,不 应减少或取消,B)也不选;程序的长短要依照实际情况而论,而不是越短越好,C)也不选。故本题答 案应该为选项 D) 。 (5)程序设计语言的基本成分是数据成分、运算成分、控制成分和 A)对象成分 B)变量成分 C)语句成分 D)传输成分 解析: 程序设计语言是用于书写计算机程序的语言,其基本成分有以下 4 种,数据成分:用来描述程序 中的数据。运算成分:描述程序中所需的运算。控制成分:用来构造程序的逻辑控制结构。传输成 分:定义数据传输成分,如输入输出语言。故本题答案应该为选项 D) 。 (1)循环链表的主要优点是 A)不再需要头指针了 B)从表中任一结点出发都能访问到整个链表 C)在进行插入、删除运算时,能更好的保证链表不断开 D)已知某个结点的位置后,能够容易的找到它的直接前件 ,. 解析: 循环链表就是将单向链表中最后一个结点的指针指向头结点,使整个链表构成一个环形,这样的 结构使得从表中的任一结点出发都能访问到整个链表。故本题答案应该为选项 B) 。 (2)栈底至栈顶依次存放元素 A、B、C、D,在第五个元素 E 入栈前,栈中元素可以出栈,则出栈序列可 能是 A)ABCED B)DCBEA C)DBCEA D)CDABE 解析: 栈操作原则上“后进先出” ,栈底至栈顶依次存放元素 A、B、C、D,则表明这 4 个元素中 D 是最 后进栈,B、C 处于中间,A 最早进栈。所以出栈时一定是先出 D,再出 C,最后出 A。故本题答案应该为 选项 B) 。 (3)对长度为 N 的线性表进行顺序查找,在最坏情况下所需要的比较次数为______。 A) N+1 B) N C) (N+1)/2 D) N/2 解析:[答案]B,很简单,我们的二级程序设计语言书中都有此算法,另外还要掌握二分法查找,这也是 我们二级中常考的。那么二分法最坏的情况为多少次呢?log2 n的最小整数值。比如 n 为 4,最坏的 情况要比较 3 次;n 为 18,最坏的情况要比较 5 次。 (1)下列叙述中正确的是 A)线性表是线性结构 B)栈与队列是非线性结构 C)线性链表是非线性结构 D)二叉树是线性结构 解析: 线性表是一种线性结构,数据元素在线性表中的位置只取决于它们自己的序号,即数据元素之间 的相对位置是线性的;栈、队列、线性链表实际上也是线性表,故也是线性结构;树是一种简单的非线 性结构。故本题答案应该为选项 A) 。 (2)非空的循环单链表 head 的尾结点(由 p 所指向) ,满足 A)p->next==NULL B)p==NULL C)p->next=head D)p=head 解析: 循环链表就是将链表的最后一个结点指向链表头结点(或第一个结点) ,即 p->next=head。故本 题答案应该为选项 C) 。 (3)已知数据表 A 中每个元素距其最终位置不远,为节省时间,应采用的算法是 A)堆排序 B)直接插入排序 C)快速排序 ,. D)直接选择排序 解析: 当数据表 A 中每个元素距其最终位置不远,说明数据表 A 按关键字值基本有序,在待排序序列基 本有序的情况下,采用插入排序所用时间最少,故答案为选项 B) 。 (1)假设线性表的长度为 n,则在最坏情况下,冒泡排序需要的比较次数为 A)log2n B)n2 C)O(n1.5) D)n(n-1)/2 解析: 假设线性表的长度为 n,则在最坏情况下,冒泡排序要经过 n/2 遍的从前往后的扫描和 n/2 遍的 从后往前的扫描,需要的比较次数为 n(n-1)/2。故本题答案应该为选项 D) 。 (2)算法分析的目的是 A)找出数据结构的合理性 B)找出算法中输入和输出之间的关系 C)分析算法的易懂性和可靠性 D)分析算法的效率以求改进 解析: 算法分析是指对一个算法的运行时间和占用空间做定量的分析,一般计算出相应的数量级,常用 时间复杂度和空间复杂度表示。分析算法的目的就是要降低算法的时间复杂度和空间复杂度,提高算法 的执行效率。故本题答案应该为选项 D) 。 (3)线性表 L=(a1,a2,a3,…ai,…an) ,下列说法正确的是 A)每个元素都有一个直接前件和直接后件 B)线性表中至少要有一个元素 C)表中诸元素的排列顺序必须是由小到大或由大到小 D)除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件 解析: 线性表可以为空表;第一个元素没有直接前件,最后一个元素没有直接后件;线性表的定义中, 元素的排列并没有规定大小顺序。故本题答案应该为选项 D) 。 (4)在单链表中,增加头结点的目的是 A)方便运算的实现 B)使单链表至少有一个结点 C)标识表结点中首结点的位置 D)说明单链表是线性表的链式存储实现 解析: 头结点不仅标识了表中首结点的位置,而且根据单链表(包含头结点)的结构,只要掌握了表头, 就能够访问整个链表,因此增加头结点目的是为了便于运算的实现。故本题答案应该为选项 A) 。 (1)算法的空间复杂度是指 A)算法程序的长度 B)算法程序中的指令条数 C)算法程序所占的存储空间 D)执行过程中所需要的存储空间 解析: 算法的复杂度主要包括算法的时间复杂度和算法的空间复杂度。所谓算法的时间复杂度是指执行 ,. 算法所需要的计算工作量;算法的空间复杂度一般是指执行这个算法所需要的内存空间。故本题答案应 该为选项 D) 。 (2)用链表表示线性表的优点是 A)便于随机存取 B)花费的存储空间较顺序存储少 C)便于插入和删除操作 D)数据元素的物理顺序与逻辑顺序相同 解析: 链式存储结构克服了顺序存储结构的缺点:它的结点空间可以动态申请和释放;它的数据元素的 逻辑次序靠结点的指针来指示,不需要移动数据元素。故链式存储结构下的线性表便于插入和删除操作。 故本题答案应该为选项 C) 。 (3)数据结构中,与所使用的计算机无关的是数据的 A)存储结构 B)物理结构 C)逻辑结构 D)物理和存储结构 解析: 数据结构概念一般包括 3 个方面的内容,数据的逻辑结构、存储结构及数据上的运算集合。数据 的逻辑结构只抽象的反映数据元素之间的逻辑关系,而不管它在计算机中的存储表示形式。故本题 答案应该为选项 C) 。 (1)由两个栈共享一个存储空间的好处是 A)减少存取时间,降低下溢发生的机率 B)节省存储空间,降低上溢发生的机率 C)减少存取时间,降低上溢发生的机率 D)节省存储空间,降低下溢发生的机率 解析: 常常一个程序中要用到多个栈,为了不发生上溢错误,就必须给每个栈分配一个足够大的存储空 间。但实际中,很难准确地估计,若每个栈都分配过大的存储空间,势必造成系统空间紧张;若让多个 栈共用一个足够大的连续存储空间,则可利用栈的动态特性使他们的存储空间互补。故本题答案应该为 选项 B) 。 (2)设有两个串 p 和 q,求 q 在 p 中首次出现位置的运算称作 A)连接 B)模式匹配 C)求子串 D)求串长 解析: 子串的定位操作通常称作串的模式匹配,是各种串处理系统中最重要的操作之一,算法的基本思 想是:从主串的开始字符起和模式的第一个字符比较,若相等则继续比较后续字符,否则从主串的下一 个字符起再重新和模式的字符比较,依次类推,直至模式中的每一个字符依次和主串中的一个连续的字 符序列相等,称匹配成功,否则称匹配不成功。 (3)下列关于队列的叙述中正确的是______。 A. 在队列中只能插入数据 ,. B. 在队列中只能删除数据 C. 队列是先进先出的线性表 D. 队列是先进后出的线性表 解析:C 队列是先进先出的,栈是先进后出的,2 者的区别一定要搞清楚。 (1)算法的空间复杂度是指 A)算法程序的长度 B)算法程序中的指令条数 C)执行算法程序所占的存储空间 D)算法执行过程中所需要的存储空间 【答案】D 【解析】算法的空间复杂度一般是指这个算法执行时所需要的内存空间,其中包括算法程序所占的空间、 输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间,其中额外空间还包括算法程序 执行过程的工作单元以及某种数据结构所需要的附加存储空间。 (2)线性表的链式存储结构是一种 A)随机结构 B)顺序结构 C)索引结构 D)散列结构 【答案】B 【解析】线性表的链式存储结构中的每一个存储结点不仅含有一个数据元素,还包括指针,每一个指针 指向一个与本结点有逻辑关系的结点。此类存储方式属于顺序存储。 (3)设有下列二叉树:对此二叉树先序遍历的结果是 A)ABCDEF B)DBEAFC C)ABDECF D)DEBFCA 【答案】C 【解析】二叉树的遍历分为先序、中序、后序三种不同方式。本题要求先序遍历;遍历顺序应该为:访 问根结点->先序遍历左子树->先序遍历右子树。按照定义,先序遍历序列是 ABDECF。 (1)算法分析的目的是______。 A)找出数据结构的合理性 B)找出算法中输入和输出之间的关系 C)分析算法的易懂性和可靠性 D)分析算法的效率以求改进 答案:D 评析:算法分析是指对一个算法的运行时间和占用空间做定量的分析,一般计算出相应的数量级,常用 时间复杂度和空间复杂度表示。分析算法的目的就是要降低算法的时间复杂度和空间复杂度,提高算法 的执行效率。 (3)已知数据表 A 中每个元素距其最终位置不远,为节省时间,应采用的算法是______。 ,. A)堆排序B)直接插入排序 C)快速排序D)直接选择排序 答案:B 评析:当数据表 A 中每个元素距其最终位置不远,说明数据表 A 按关键字值基本有序,在待排序序列基 本有序的情况下,采用插入排序所用时间最少,故答案为选项 B。 (4)用链表表示线性表的优点是______。 A)便于插入和删除操作B)数据元素的物理顺序与逻辑顺序相同 C)花费的存储空间较顺序存储少D)便于随机存取 答案:A 评析:链式存储结构克服了顺序存储结构的缺点:它的结点空间可以动态申请和释放;它的数据元素的 逻辑次序靠结点的指针来指示,不需要移动数据元素。故链式存储结构下的线性表便于插入和删除操作。 1. 以下数据结构中不属于线性数据结构的是______。 A、队列 B、线性表 C、二叉树 D、栈 解析:线性表、栈和队列等数据结构所表达和处理的数据以线性结构为组织形式。栈是一种特殊的线性表, 这种线性表只能在固定的一端进行插入和删除操作,允许插入和删除的一端称为栈顶,另一端称为栈底。 一个新元素只能从栈顶一端进入,删除时,只能删除栈顶的元素,即刚刚被插入的元素。所以栈又称后 进先出表(Last In First Out);队列可看作是插入在一端进行,删除在另
展开阅读全文
提示  淘文阁 - 分享文档赚钱的网站所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:计算机二级公共基础知识汇总题库及标准答案分析.doc
链接地址:https://www.taowenge.com/p-2625936.html
关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

收起
展开