当前位置:问答库>考研试题

2018年武汉大学计算机学院932软件工程专业基础综合之数据结构教程考研核心题库

  摘要

一、填空题

1. 建立索引文件的目的是_____。

【答案】提高查找速度

2. 已知一循环队列的存储空间为

则此循环队列判满的条件是_____ 【答案】

3. 阅读下列程序说明和程序,填充程序中的_____。

【程序说明】本程序完成将二叉树中左、右孩子交换的操作。交换的结果如下所示。

本程序采用非递归的方法,设立一个堆栈stack 存放还没有转换过的结点,它的栈顶指针为tp 。交换左、右子树的算法为:

(1)把根结点放入堆栈。

(2)当堆栈不空时,取出栈顶元素,交换它的左、右子树,并把它的左、右子树分别入栈。

(3)重复(2)直到堆栈为空时为止。

【答案】

,其中n >m ,队头和队尾指针分别为front 和rear ,

【解析】本题主要使用堆栈完成了二叉树左右子树交换的操作。首先根结点进栈,然后判断栈是否为空,如果不为空,则取栈顶元素,交换取出结点的左右指针。并将左右指针分别进栈,重复这一操作。完成二叉树左右孩子的交换。

4. 求最短路径的Dijkstra 算法的时间复杂度为_____。 【答案】

5. 下面描述的是一种构造最小生成树算法的基本思想。设要处理的无向图包括n 个顶点

用相邻矩阵A 表示,边的权全是正数。请在下列划线处填上正确叙述。

(1)若是边,则的值等于_____,若不是边,则A(i, j) 的值是一个比任何

置边的权_____,矩阵的对角线元素全为0。 (2)构造最小生成树过程中,若顶点已包括进生成树,就把相邻矩阵的对角线元素

成_____,若

【答案】(1)已包括进生成树,就把矩阵元素置成_____。 (3)算法结束时,相邻矩阵中_____的元素指出最小生成树的_____。 边上的权值;都大的数;(2)1; 负值;(3)为负;边

6. 若用n 表示图中顶点数目,则有_____条边的无向图成为完全图。 【答案】

【解析】无向完全图中任意一个顶点都和其他n -1个顶点都有一条边,即为n(n-1) 。又因

. 。 为每条边重复出现两次,所有无向完全图的边数为

7. —棵左子树为空的二叉树在前序线索化后,其中的空链域的个数为_____。

【答案】2

【解析】只有根结点的做指针为空和最右边的叶结点的右指针为空。

8. 外排序的基本操作过程是_____和_____。

【答案】生成有序归并段(顺串) ;归并

9. 在单链表中设置头结点的作用是_____。

【答案】方便运算

10.深度为H 的完全二叉树至少有_____个结点:至多有_____个结点; H 和结点总数N 之间的关系是_____。 【答案】

二、单项选择题

11.在下列表述中,正确的是( )

A. 含有一个或多个空格字符的串称为空格串

B. 对n(n>0) 个顶点的网,求出权最小的n ﹣1条边便可构成其最小生成树

C. 选择排序算法是不稳定的

D. 平衡二叉树的左右子树的结点数之差的绝对值不超过1

【答案】C

【解析】平衡二叉树的左右子树的深度之差的绝对值不超过1。求最小生成树时,每次挑最

小权值边,是要求该边的两点都在不同的连通分量上的。

12.输入序列为ABC ,可以变为CBA 时,经过的栈操作为( )。

A.push ,pop ,push ,pop ,push ,pop

B.push ,push ,push ,pop ,pop ,pop

C.push ,push ,,pop ,pop ,push ,pop

D.push ,pop ,push ,push ,pop ,pop

【答案】B

【解析】根据输入序列和输出序列可知,输入序列全部进找,然后再出找。从中可以看出,push 的数目始终大于等于pop 的数目。

13.在体系结构中, 直接为ICMP 提供服务的协议是( )。

A.PPP

B.IP

C.UDP

D.TCP

【答案】B 。

【解析】首先明确ICMP 是网络层的协议, 由于服务必须是下一层向上一层提供服务的, 因此选项C 项中的UDP 和选项D 项中的TCP 属于传输层, 在网络层上面, 所以显然错误, 而PPP 协议是广域网数据链路层协议, 直接为网络层, 也就是IP 层提供服务, ICMP 协议是封装在网络层, 因此PPP 不能直接为ICMP 提供服务, ICMP 报文直接封装在IP 分组中, 故答案是B 。

14.计算机算法指的是解决问题的步骤序列,它必须具备( )三个特性。

A. 可执行性、可移植性、可扩充性

B. 可执行性、确定性、有穷性

C. 确定性、有穷性、稳定性

D. 易读性、稳定性、安全性

【答案】B

【解析】计算机算法是以一步接一步的方式来详细描述计算机如何将输入转化为所要求的输出的过程,或者说,算法是对计算机上执行的计算过程的具体描述,也就是解决问题的步骤序列。一个算法通常需要具备五大特性:有穷性;确定性;可执行性;输入一个算法有零个或多个输入;输出一个算法有零个或者多个输出。

15.最大容量为n 的循环队列,队尾指针是rear ,队头:front ,则队空的条件是( )。

A.(rear+1)MODn=front

B.rear =front

C.rear+1=front

D.(rear-1)MODn=front

【答案】B