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

2017年北京联合大学智能交通工程803软件基础之数据结构考研冲刺密押题

  摘要

一、填空题

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

【程序说明】本程序完成将二叉树中左、右孩子交换的操作。交换的结果如下所示(编科略)本程序采用非递归的方法,设立一个堆栈交换左、右子树的算法为:

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

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

存放还没有转换过的结点,它的栈顶指针为

(1)

{(2)

If ( (3) )

}

}}

【答案】

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

2. 在n 个顶点的非空无向图中,最多有_____个连通分量。

【答案】n

【解析】当n 个顶点之间没有边,都是孤立的顶点时,有n 个连通分量。

3.

设单链表的结点结构为为指针域,已知指针px 指向单链表中data 为x 的结

_____;点,指针py 指向data 为y 的新结点,若将结点y 插入结点x 之后,贝懦要执行以下语句:

_____;

【答案】

4. 对于一个具有n 个结点的单链表,在已知的结点半p 后插入一个新结点的时间. 复杂度为_____,在给定值为x 的结点后插入一个新结点的时间复杂度为_____。

【答案】

【解析】第一种情况只需直接修改指针的指向。第二种情况必须从头结点遍历找到x 的结点。

5. 在图G 的邻接表表示中,每个顶点邻接表中所含的结点数,对于无向图来说等于该顶点的_____; 对于有向图来说等于该顶点的_____。

【答案】度;出度

6. 线性表

【答案】(n -1)/2

【解析】删除第一个元素需要移动n -i 次,以此类推,删除最后一个元素需要移动0次。平 均次数为

7. 设有个结点的完全二叉树顺序存放在向量

【答案】

用数组表示,假定删除表中任一元素的概率相同,则删除一个元素

平均需要移动元素的个数是_____。

中,其下标值最大的分支结点为_____。

【解析】最大的分支结点是最后一个叶子结点的父结点。

8. 在二叉树中,指针p 所指结点为叶结点的条件是_____。

【答案】

【解析】叶子节点的左右孩子都不存在。

9. 遍历图的过程实质上是_____,广度优先遍历图的时间复杂度_____; 深度优先遍历图的时间复杂度_____, 两者不同之处在于_____, 反映在数据结构上的差别是_____。

【答案】查找顶点的邻接点的过程;0(n+e); 0(n+e); 访问顶点的顺序不同;队列和栈 【解析】广度优先遍历图使用队列这种数据结构,深度优先遍历图使用栈这种数据结构。

10.克鲁斯卡尔算法的时间复杂度为_____,它对_____图较为适合。

【答案】O (eloge ); 边稀疏

二、选择题

11.一棵3阶B-树中含有2047个关键字,包括叶结点层,该树的最大深度为( )。

A.11 B.12 C.13 D.14

【答案】B

12.已知串其Next 数组值为( )。

A.0123 B.1123 C.1231 D.1211 【答案】A

【解析】KMP 算法的next 数组建立的原则

13.在有向图G 的拓扑序列中,若顶点V i 在顶点V j 之前,则下列情形不可能出现的是( ) 。

A.G 中有弧 B.G 中有一条从V i 到V j 的路径 C.G 中没有弧

【解析】若想实现图的一个拓扑排序,需要满足的一个条件为:若顶点A 在序列中排在顶点B 的前面,则在图中不存在从顶点B 到顶点A 的路径。又因为若G 中有一条从V j 到V i 的路径,则在拓扑序列中V i 不可能在V j 前。

14.设与某资源相关联的信号量初值为3, 当前为1,若M 表示该资源的可用个数,N 表示等待该资源的进程数,则M ,N 分别是( )。

A.0、1 B.1、0 C.1、2 D.2、0 【答案】B

【解析】信号量初值是3表示资源数有3个,当前为1表示已经用掉2个,剩余可用的资源数就只有1个了,由于资源有剩余,可见没有其他进程等待使用该资源,故进程数为0。