国家二级C语言(数据结构与运算)机试模拟试卷4(题后含答案及解析)

国家二级C语言(数据结构与运算)机试模拟试卷4(题后含答案及解析)


2024年4月30日发(作者:)

国家二级C语言(数据结构与运算)机试模拟试卷4

(题后含答案及

解析)

题型有:1. 选择题

选择题

1. 下列各序列中不是堆的是

A.(91,85,53,36,47,30,24,12)

B.(91,85,53,47,36,30,24,12)

C.(47,91,53,85,30,12,24,36)

D.(91,85,53,47,30,12,24,36)

正确答案:C

解析:堆可以看成一棵完全二叉树:任一根节点>=左右孩子(或者<=),

(大的叫大根堆,小的叫小根堆)。注意一个堆中的这种性质有一致性,不能既

有大于又有小于情况存在。此题可以这么做,把结点按照完全二叉树画出来就一

目了然了。这个题目很明显91是最大的根,而选项C是“左根右”的排序,那

么91的左边只有47,其他都在右边,而右边无法按照此顺序排列,所以选项C

不是堆。 知识模块:数据结构与运算

2. 深度为5的完全二叉树的结点数不可能是

A.15

B.16

C.17

D.18

正确答案:A

解析:对于满二叉树,叶子结点的数目等于2n-1,n为深度,这里就是2的

5-1=4次方,就是16。所以选项A为正确答案。 知识模块:数据结构与运算

3. 有二叉树如下图所示: 则前序序列为

A.ABDEGCFH

B.DBGEAFHC

C.DGEBHFCA

D.ABCDEFGH

正确答案:A

解析:前序遍历首先访问根结点然后遍历左子树,最后遍历右子树;在遍历

左、右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。故选项

A正确,选项B为中序遍历,选项C为后序遍历,选项D不正确。 知识模块:

数据结构与运算

4. 下列叙述中正确的是

A.循环队列是顺序存储结构

B.循环队列是链式存储结构

C.循环队列是非线性结构

D.循环队列的插入运算不会发生溢出现象

正确答案:A

解析:循环队列属于队列的特例和栈同属于线性结构,所以选项C不正确。

在顺序队列中,由于数组空间不够而产生的溢出叫真溢出;顺序队列因多次入队

列和出队列操作后出现的有存储空间但不能进行入队列操作的溢出称为假溢出;

假溢出是由于队尾rear的值和队头front的值不能由所定义数组下界值自动转为

数组上界值而产生的,解决的办法是把顺序队列所使用的存储空间构造成一个逻

辑上首尾相连的循环队列。因此,顺序队列通常都采用顺序循环队列结构;栈的

存储方式有顺序存储和链式存储,故选项A正确,选项B不正确。循环队列虽

然能解决假溢出,却不能解决在顺序队列中,由于数组空间不够而产生的真溢出,

故选项D不正确。 知识模块:数据结构与运算

5. 下列叙述中正确的是

A.所有数据结构必须有根结点

B.所有数据结构必须有终端结点(即叶子结点)

C.只有一个根结点,且只有一个叶子结点的数据结构一定是线性结构

D.没有根结点或没有叶子结点的数据结构一定是非线性结构

正确答案:D

解析:只有一个空节点的结构也属数据结构,所以选项A和选项B不正确;

有且只有一个根结点,每一个结点最多有一个前件,也最多有一个后件的数据结

构才属于线性结构,其它的都属于非线性结构,故选项C不正确,选项D正确。

知识模块:数据结构与运算

6. 下列关于算法的描述中错误的是

A.算法强调动态的执行过程,不同于静态的计算公式

B.算法必须能在有限个步骤之后终止

C.算法设计必须考虑算法的复杂度

D.算法的优劣取决于运行算法程序的环境

正确答案:D

解析:算法的优劣取决自身的运行效率,时间和空间复杂度高低,并不取决

于运行算法程序的环境,故选项D错误。 知识模块:数据结构与运算

7. 设有二叉树如下图所示:则中序序列为

A.ABDEGCFH

B.DBGEAFHC

C.DGEBHFCA

D.ABCDEFGH

正确答案:B 涉及知识点:数据结构与运算

8. 线性表的链式存储结构与顺序存储结构相比,链式存储结构的优点有

A.节省存储空间

B.插入与删除运算效率高

C.便于查找

D.排序时减少元素的比较次数

正确答案:B

解析:顺序存储时,相邻数据元素的存放地址也相邻(逻辑与物理统一);

要求内存中可用存储单元的地址必须是连续的。优点是存储密度大(=1),存储

空间利用率高;缺点是插入或删除元素时不方便。链式存储时,相邻数据元素可

随意存放,但所占存储空间分两部分,一部分存放结点值,另一部分存放表示结

点间关系的指针优点是插入或删除元素时很方便效率高,使用灵活。缺点是存储

密度小(<1),存储空间利用率低,故选项B正确。 知识模块:数据结构与运

9. 深度为7的完全二叉树中共有125个结点,则该完全二叉树中的叶子结

点数为

A.62

B.63

C.64

D.65

正确答案:B

解析:对于满二叉树,结点的数目等于2n-1,叶子结点数目为2n-1,n为深

度,这里就是2的7次方-1,就是127个结点,叶子结点是64个。然而题目中

只有125个结点,说明少了两个结点,那么就少了一个叶子结点,即63个。 知

识模块:数据结构与运算

10. 下列叙述中正确的是

A.所谓有序表是指在顺序存储空间内连续存放的元素序列

B.有序表只能顺序存储在连续的存储空间内

C.有序表可以用链接存储方式存储在不连续的存储空间内

D.任何存储方式的有序表均能采用二分法进行查找

正确答案:C

解析:有序表可以用顺序存储空间内连续存放的元素序列来实现,也可以用

链接存储方式存储在不连续的存储空间内,已达到逻辑上连续,存储空间上不一

定连续的效果。二分法进行查找只适用于顺序存储的有序表。故选项C正确。 知

识模块:数据结构与运算

11. 设有二叉树如下图所示: 则后序序列为

A.ABDEGCFH

B.DBGEAFHC

C.DGEBHFCA

D.ABCDEFGH

正确答案:C

解析:后序遍历(LRD)首先遍历左子树,然后访问遍历右子树,最后访问

根结点,可知选项C正确。 知识模块:数据结构与运算

12. 下列叙述中正确的是

A.结点中具有两个指针域的链表一定是二叉链表

B.结点中具有两个指针域的链表可以是线性结构,也可以是非线性结构

C.二叉树只能采用链式存储结构

D.循环链表是非线性结构

正确答案:B

解析:结点中尽管有两个指针域但没有分别指向两个不同的结点就不是二叉

链表,故选项A不正确;二叉树是非线性结构,即每个数据结点至多只有一个

前驱,但可以有多个后继。它可采用顺序存储结构和链式存储结构,故选项C

不正确;循环链表是在单链表中,将终端结点的指针域NULL改为指向表头结

点或开始结点的线性结构,故选项D不正确;当结点中两个指针分别指向前驱

结点和后继结点时为线性结构,当指向两个不同的前驱或后继结点时为非线性结

构,故选项B正确。 知识模块:数据结构与运算

13. 设某二叉树中共有140个结点,其中有40个度为1的结点。则

A.该二叉树中有51个叶子结点

B.该二叉树中有50个叶子结点

C.该二叉树中有51个度为2的结点

D.不可能有这样的二叉树

正确答案:D

解析:140个结点除去40个度为1的结点,说明有100个度为2的结点,

而根据二叉树性质,这个数值无法得出一棵二叉树,故本题答案选D。 知识模

块:数据结构与运算

14. 带链的栈与顺序存储的栈相比,其优点是

A.入栈与退栈操作方便

B.可以省略栈底指针

C.入栈操作时不会受栈存储空间的限制而发生溢出

D.所占存储空间相同

正确答案:C

解析:带链的栈与顺序存储的栈相比优点是不受连续存储空间大小的限制,


发布者:admin,转转请注明出处:http://www.yc00.com/news/1714432040a2445291.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信