考试季(19)全国计算机等级考试二级(国二)公共基础知识(所有报名科目必考)之“基本数据结构与算法”典型考题解析
Posted IT学习全接触
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了考试季(19)全国计算机等级考试二级(国二)公共基础知识(所有报名科目必考)之“基本数据结构与算法”典型考题解析相关的知识,希望对你有一定的参考价值。
下列关于算法叙述正确的是()。
A. 算法就是程序
B. 设计算法时只需要考虑数据结构的设计
C. 设计算法时只需要考虑结果的可靠性
D. 以上三种说法都不对
正确答案:D
解析:算法是指解题方案的准确而完整的描述,算法不等于程序,也不等于计算方法,所以A错误。设计算法时不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构。
下列叙述中正确的是()。
A. 有一个以上根结点的数据结构不一定是非线性结构
B. 只有一个根结点的数据结构不一定是线性结构
C. 循环链表是非线性结构
D. 双向链表是非线性结构
正确答案:B
解析:线性结构应满足:有且只有一个根结点与每个结点最多有一个前件,也最多有一个后件,所以B正确。所以有一个以上根结点的数据结构一定是非线性结构,所以A错误。循环链表和双向链表都是线性结构的数据结构。
下列关于二叉树的叙述中,正确的是()。
A. 叶子结点总是比度为2的结点少一个
B. 叶子结点总是比度为2的结点多一个
C. 叶子结点数是度为2的结点数的两倍
D. 度为2的结点数是度为1的结点数的两倍
正确答案:B
解析:根据二叉树的基本性质3:在任意一棵二叉树中,度为0的叶子结点总是比度为2的结点多一个。所以选择B。
下列叙述中正确的是()。
A. 循环队列是队列的一种链式存储结构
B. 循环队列是队列的一种顺序存储结构
C. 循环队列是非线性结构
D. 循环队列是一种逻辑结构
正确答案:B
解析:在实际应用中,队列的顺序存储结构一般采用循环队列的形式。
下列关于线性链表的叙述中,正确的是()。
A. 各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致
B. 各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续
C. 进行插入与删除时,不需要移动表中的元素
D. 以上说法均不正确
正确答案:C
解析:一般来说,在线性表的链式存储结构中,各数据结点的存储序号是不连续的,并且各结点在存储空间中的位置关系与逻辑关系也不一致。线性链表中数据的插入和删除都不需要移动表中的元素,只需改变结点的指针域即可。
一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为()
A. 16
B. 10
C. 6
D. 4
正确答案:A
解析:根据二叉树的性质3:在任意一棵二叉树中,度为0的叶子结点总是比度为2的结点多一个,所以本题中度为2的结点是5-1=4个,所以度为1的结点的个数是25-5-4=16个。
下列数据结构中,不能采用顺序存储结构的是()。
A. 非完全二叉树
B. 堆
C. 队列
D. 栈
正确答案:A
解析:根据完全二叉树的性质6,满二叉树和完全二叉树可以按层序进行顺序存储,但一般的二叉树不适用。堆可以用一维数组来存储也可以用完全二叉树来直观地表示堆的结构。队列、栈本身就是顺序存储的。故本题答案为A选项。
下列叙述中错误的是()。
A. 二叉链表是二叉树的存储结构
B. 循环链表是循环队列的存储结构
C. 栈是线性结构
D. 循环队列是队列的存储结构
正确答案:B
解析:循环队列是队列的一种顺序存储结构,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置。循环链表是用不连续的存储单元存储数据,它有一个表头结点,队头指针指向表头结点,最后一个结点的指针域指向表头结点。二叉链表是树的二叉链表实现方式。栈是一种特殊存取方式的线性表。故本题答案为B选项。
设一棵树的度为4,其中度为4,3,2,1的结点个数分别为2,3,3,0。则该棵树中的叶子结点数为()。
A. 16
B. 15
C. 17
D. 不可能有这样的树
正确答案:A
解析:根据题目,树的结点数=4×2+3×3+2×3+1×0+根结点=8+9+6+0+1=24,,即总结点数为24,总结点数减去度不为0的结点数即是叶子结点,24-(2+3+3)=16。故本题答案为A选项。
循环队列的存储空间为Q(1:100),初始状态为front=rear=100。经过一系列正常的入队与退队操作后,front=rear=99,则循环队列中的元素个数为()。
A. 1
B. 2
C. 99
D. 0或100
正确答案:D
解析:在循环队列中,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置。在循环队列中进行出队、入队操作时,头尾指针仍要加1,朝前移动。只不过当头尾指针指向向量上界时,其加1操作的结果是指向向量的下界0。由于入队时尾指针向前追赶头指针,出队时头指针向前追赶尾指针,故队空和队满时,头尾指针均相等。故本题答案为D选项。
下列叙述中正确的是()。
A. 算法的时间复杂度与算法程序中的语句条数成正比
B. 算法的时间复杂度与计算机的运行速度有关
C. 算法的时间复杂度与运行算法时特定的输入有关
D. 算法的时间复杂度与算法程序编制者的水平有关
正确答案:C
解析:算法的时间复杂度是指执行算法所需要的计算工作量。为了能够比较客观地反映出一个算法的效率,在度量一个算法的工作量时,不仅应该与所使用的计算机、程序设计语言以及程序编制者无关,而且还应该与算法实现过程中的许多细节无关。为此,可以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。算法所执行的基本运算次数还与问题的规模有关;对应一个固定的规模,算法所执行的基本运算次数还可能与特定的输入有关。故本题答案为C选项。
下列各排序法中,最坏情况下的时间复杂度最低的是()。
A. 希尔排序
B. 快速排序
C. 堆排序
D. 冒泡排序
正确答案:C
解析:堆排序最坏情况时间下的时间复杂度为O(nlog2n);希尔排序最坏情况时间下的时间复杂度为O(n1.5);快速排序、冒泡排序最坏情况时间下的时间复杂度为O(n2)。故本题答案为C选项。
设栈的存储空间为S(1:50),初始状态为top=51。现经过一系列正常的入栈与退栈操作后,top=50,则栈中的元素个数为()。
A. 1
B. 0
C. 50
D. 49
正确答案:A
解析:栈是一种特殊的线性表,它所有的插入与删除都限定在表的同一端进行。入栈运算即在栈顶位置插入一个新元素,退栈运算即取出栈顶元素赋予指定变量。栈为空时,栈顶指针top=0,经过入栈和退栈运算,指针始终指向栈顶元素。初始状态为top=51,当top=50时,则栈中S(50:51)存储着元素,51-50=1,元素个数为1。故本题答案为A选项。
某二叉树共有399个结点,其中有199个度为2的结点,则该二叉树中的叶子结点数为()。
A. 不存在这样的二叉树
B. 200
C. 198
D. 199
正确答案:B
解析:根据二叉树的基本性质,对任何一棵二叉树,度为0的结点(即叶子结点)总是比度为2的结点多一个。题目中度为2的结点为199个,则叶子结点为199+1=200。故本题答案为B选项。
全国计算机等级考试二级大纲
全国计算机等级考试二级Office
全国计算机等级考试二级C语言
全国计算机等级考试二级Java语言
全国计算机等级考试二级公共基础
>>选择”我要学习“菜单中的”全国等级考试“,获取更多资料
以上是关于考试季(19)全国计算机等级考试二级(国二)公共基础知识(所有报名科目必考)之“基本数据结构与算法”典型考题解析的主要内容,如果未能解决你的问题,请参考以下文章
全国计算机二级python考试学习信息 二级python考试练习习题 二级python考试资料 二级python资料大全 python等级考试资料 Python二级考试知识点 全国二级Python指南
全国计算机等级考试二级Web程序设计考试大纲(2013年版)