全国计算机二级C选择题题库第34套
1、下列叙述中错误的是
A) 数据结构中的数据元素不能是另一数据结构
B) 数据结构中的数据元素可以是另一数据结构
C) 空数据结构可以是线性结构也可以是非线性结构
D) 非空数据结构可以没有根结点
参考答案:A
数据元素是一个含义很广泛的概念,它是数据的"基本单位",在计算机中通常作为一个整体进行考虑和处理。数据元素可以是一个数据也可以是被抽象出的具有一定结构数据集合,所以数据结构中的数据元素可以是另一数据结构。
满足有且只有一个根结点并且每一个结点最多有一个前件,也最多有一个后件的非空的数据结构认为是线性结构,不满足条件的结构为非线性结构。
空数据结构可以是线性结构也可以是非线性结构。非空数据结构可以没有根结点,如非性线结构"图"就没有根结点。
故选A选项。
2、为了降低算法的空间复杂度,要求算法尽量采用原地工作(in place)。所谓原地工作是指
A) 执行算法时所使用的额外空间固定(即不随算法所处理的数据空间大小的变化而变化)
B) 执行算法时所使用的额外空间随算法所处理的数据空间大小的变化而变化
C) 执行算法时不使用额外空间
D) 执行算法时不使用任何存储空间
参考答案:A
算法的空间复杂度是指执行这个算法所需要的内存空间,包括输入数据所占的存储空间、程序本身所占的存储空间、算法执行过程中所需要的额外空间。
如果额外空间量相对于问题规模(即输入数据所占的存储空间)来说是常数,即额外空间量不随问题规模的变化而变化,则称该算法是原地工作的。
故选A选项
3、某循环队列的存储空间为Q(1:m),初始状态为front=rear=m。现经过一系列的入队操作和退队操作后,front=m,rear=m-1,则该循环队列中的元素个数为
A) m-1
B) m
C) 1
D) 0
参考答案:A
循环队列长度为m,由初始状态为front=rear=m,可知此时循环队列为空。入队运算时,
首先队尾指针进1(即rear+1),然后在rear指针指向的位置插入新元素。特别的,当队尾指针rear=m+1时,置rear=1。退队运算时,排头指针进1(即front+1),然后删除front指针指向的位置上的元素,当排头指针front=m+1时,置front=1。
从排头指针front指向的后一个位置直到队尾指针rear指向的位置之间所有的元素均为队列中的元素。如果rear-front>0,则队列中的元素个数为rear-front个;如果rear-front<0,则队列中的元素个数为rear-front+m 。该题中m-1<m,即rear-front<0,则该循环队列中的元素个数为(m-1)-m+m=m-1。故选A选项。
4、某棵树只有度为3的结点和叶子结点,其中度为3continue语句执行过程的结点有8个,则该树中的叶子结点数为
A) 15
B) 16
C) 17
D) 不存在这样的树
参考答案:C
树是一种简单的非线性结构,直观地来看,树是以分支关系定义的层次结构。在树结构中,一个结点所拥有的后件个数称为该结点的度,所有结点中最大的度称为树的度。
由于只有度为3的结点和叶子结点,可知最后一层都为叶子结点,倒数第二层一部分结点度为3,一部分为叶子结点,其余的结点的度均为3,计算度为3的结点总数(33-1-1)/2<8<(34-1-1)/2可知,树共有4层,前两层有度为3的结点(33-1-1)/2=4个,第三层有33=9个结点,其中4个是度为3的结点,5个是叶子结点,所以该树中的叶子结点数为4×3+5=17。
故选C选项。
5、某二叉树共有530个结点,其中度为2的结点有250个,则度为1的结点数为
A) 29
B) 30
C) 249
D) 251
参考答案:A
在树结构中,一个结点所拥有的后件个数称为该结点的度,所有结点中最大的度称为树的度。对任何一棵二叉树,度为0的结点总是比度为2的结点多一个。
二叉树结点总数为530,度为2的结点有250个,则度为0的结点有251个,那么度为1的结点个数为530-250-251=29。故选A选项。
6、若某二叉树中的所有结点值均大于其左子树上的所有结点值,且小于右子树上的所有结点值,则该二叉树遍历序列中有序的是
A) 前序序列
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论