【解析】二叉树后序遍历的简单描述如下:若二叉树为空,则结束返回。否则(1)后序遍历左子树;(2)后序遍历右子树;(3)访问根结点。也就是说,后序遍历是指在访问根结点、遍历左子树与遍历右子树这三者中,首先遍历左子树,然后遍历右子树,最后访问根结点,并且,在遍历左、右子树时,仍然先遍历左子树,然后遍历右子树,最后访问根结点。根据后序遍历的算法,后序遍历的结果为DEBFCA。
(18) 下列对队列的叙述正确的是( ) A)队列属于非线性表
B)队列按“先进后出”原则组织数据 C)队列在队尾删除数据
D)队列按“先进先出”原则组织数据 【答案】D
【解析】本题考查数据结构中队列的基本知识。队列是一种限定性的线性表,它只允许在表的一端插入元素,而在另一端删除元素,所以队列具有先进先出的特性。在队列中,允许插入元素的一端叫做队尾,允许删除的一端则称为队头。这与日常生活中的排队是一致的,最早进入队列的人最早离开,新来的人总是加入到队尾。因此,本题中只有选项D的说法是正确的。
(19) 对下列二叉树进行前序遍历的结果为( )
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的结点,则该二叉树中的叶子结点数为( )
6 / 90
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)32 【答案】C
【解析】在二叉树的第k层上,最多有2(k≥1)个结点。对于满二叉树来说,每一层上的结点数都达到最大值,即在满二叉树的第k层上有2个结点。因此,在深度为7的满二叉树中,所有叶子结点在第7层上.即其结点数为2=2=64因此.本题的正确答案为c。
(22)下列叙述中正确的是
A)一个算法的空间复杂度大,则其时间复杂度也必定大 B)一个算法的空间复杂度大,则期时间复杂度必定小 C)一个算法的时间复杂度大,则其空间复杂度必定小 D)上述三种说法都不对 【答案】D
【解析】时间复杂度是指一个算法执行时间的相对度量;空间复杂度是指算法在运行过程中临时占用所需存储空间大小的度量。人们都希望选择一个既省存储空间、又省执行时间的算法。然而,有时为了加快算法的运行速度,不得不增加空间开销;有时为了能有效地存储算法和数据,又不得不牺牲运行时间。时间和空间的效率往往是一对矛盾,很难做到两全。但是,这不适用于所有的情况,也就是说时间复杂度和空间复杂度之间虽然经常矛盾。但是二者不存在必然的联系。因此,选项A、B、c的说法都是错误的。故本题的正确答案是D。
(23)在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为 A)63 【答案】B
【解析】在长度为64的有序线性表中,其中的64个数据元素是按照从大到小或从小到大的顺序排列有序的。在这样的线性表中进行顺序查找,最坏的情况就是查找的数据元素不在线性表中或位于线性表的最后。按照线性表的顺序查找算法,首先用被查找的数据和线性表的第一个数据元素进行比较。若相等,则查找成功,否则,继续进行比较,即和线性表的第二个数据元素进行比较。同样,若相等,则查找成功,否则,继续进行比较。依次类推,直到在线性表中查找到该数据或查找到线性表的最后一个元素,算法才结束。因此,在长度为64的有序线性表中进行顺序查找,最坏的情况下需要比较64次。因此,本题的正确答案为B。
7 / 90
k-1
7-1
k-1
k-1
B)31 C)64 D)63
B)64 C)6 D)7
(24)对下列二叉树 进行中序遍历的结果是 A)ACBDFEG C)ABDCGEF
【答案】A
【解析】二叉树的中序遍历递归算法为:如果根不空,则(1)按中序次序访问左子树;(2)访问根结点:(3)按中序次序访问右子树。否则返回。本题中,根据中序遍历算法.应首先按照中序次序访问以c为根结点的左子树,然后再访问根结点F,最后才访问以E为根结点的右子树。遍历以c为根结点的左子树同样要遵循中序遍历算法,因此中序遍历结果为ACBD;然后遍历根结点F;遍历以E为根结点的右子树,同样要遵循中序遍历算法,因此中序遍历结果为EG。最后把这三部分的遍历结果按顺序连接起来,中序遍历结果为ACBDFEG。因此,本题的正确答案是A。
(25)数据的存储结构是指______。
A)存储在外存中的数据
B)数据所占的存储空间量
A B C D F E G
B)ACBDFGE
D)FCADBEG
C)数据在计算机中的顺序存储方式 D)数据的逻辑结构在计算机中的表示 【答案】D
【解析】数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构,也称数据的物理结构。所以选项D正确。
(26)下列关于栈的描述中错误的是______。
A) 栈是先进后出的线性表 B) 栈只能顺序存储 C) 栈具有记忆作用
D) 对栈的插入与删除操作中,不需要改变栈底指针 【答案】B
【解析】本题考核栈的基本概念,我们可以通过排除法来确定本题的答案。栈是限定在一端进行插入与删除的线性表,栈顶元素总是最后被插入的元素,从而也是最先能被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素,即栈是按照“先进后出”或“后进先出”的原则组织数据的,这便是栈的记忆作用,所以选项A和选项C正确。对栈进行插入和删除操作时,栈顶位置是动态变化的,栈底指针不变,选项D正确。由此可见,选项B的描述错误。
(27)对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是______。
A)冒泡排序为n/2
B)冒泡排序为n
8 / 90
C)快速排序为n 【答案】D
D)快速排序为n(n-1)/2
【解析】假设线性表的长度为n,在最坏情况下,冒泡排序和快速排序需要的比较次数为n(n—1)/2。由此可见,选项D正确。
(28)对长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为______。
A)log2 【答案】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)归并排序
解析: 从平均时间性能而言,快速排序最佳,其所需时间最少,但快速排序在最坏情况下的时间性能不
9 / 90
n
B)n/2 C)n D)n+1
如堆排序和归并排序。当序列中的记录基本有序或元素个数较少时,冒泡排序和简单选择排序为最佳排序方法,故本题答案应该为选项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)。
10 / 90
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库计算机二级公共基础知识题库及答案分析(2)在线全文阅读。
相关推荐: