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

2017年北京市培养单位计算技术研究所863计算机学科综合(专业)之数据结构考研仿真模拟题

  摘要

一、填空题

1. 对于给定的元素,可以构造出的逻辑结构有_____,_____,_____,_____四种。

【答案】集合;线性结构;树形结构;图状结构(网状结构)

2. 设有两个算法在同一机器上运行,其执行时闻分别为_____。

【答案】15

【解析】当时,而,时,

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

【答案】

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

4. 在拓扑分类中,拓扑序列的最后一个顶点必定是_____的顶点。

【答案】出度为0

【解析】如果最后一个顶点的出度不为0, 则必定还有顶点存在,与题目所说的最后一个顶点矛盾,所有最 后一个顶点的出度必定为零。

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

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

6. 数组的存储结构采用_____存储方式。

【答案】顺序存储结构

【解析】数组本身的存储结构是线性的,也就是说它是连续存储的。

7. 假设一个15阶的上三角矩阵A 按行优先顺序压缩存储在一维数组B 中,则非零元素中的存储位置k=_____。(注:矩阵元素下标从1开始)

【答案】93

【解析】对于上三角矩阵

,将

8. 模式串的next 函数值序列为_____。

【答案】01122312

第 2 页,共 57 页

要使前者快于后者,n 至少为

在B

代入得93。

9. 对于一个具有n 个结点的二叉树,当它为一棵_____二叉树时具有最小高度,当它为一棵_____ 时. 具有最大高度

【答案】完全;只有一个叶结点的二叉树

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

【答案】n

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

二、判断题

11.设尾指针的循环链表表示队列,则入队和出队算法的时间复杂度均为

【答案】

【解析】入队和出队操作分别在队尾和队头进行,设有尾指针的循环链表对头和尾元素的操 作的时间复杂度是

12.折半查找与二元查找树的时间性能在最坏的情况下是相同的。( )

【答案】×

【解析】不是,当二元查找树是一棵单支树时,时间性能是而折半查找依然是

13.KMP 算法的特点是在模式匹配时指示主串的指针不会变小。( )

【答案】

函数,函

( )。

【解析】KMP 算法是一种字符串匹配的算法,KMP 算法的关键是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现就是实现一个数本身包含了模式串的局部匹配信息。

14.稀疏矩阵压缩存储后,必会失去随机存取功能。( )

【答案】√

【解析】稀疏矩阵在压缩存储后,必回失去随机存储的功能。因为在这个矩阵中,非零元素的分布是没有规律的,为了压缩存储,就将每一个非零元素的值和它所在的行、列号做为一个结点存放在一起,这样的结点组成的线性表中叫三元组表,它已不是简单的向量,所以无法用下标直接存取矩阵中的元素。

15.就平均查找长度而言,分块查找最小,折半查找次之,顺序查找最大。( )

【答案】×

【解析】折半查找最小,分块查找次之,顺序查找最大。分块查找的速度虽然不如折半查找算法,但比顺序查找算法快得多,同时又不需要对全部节点进行排序。当结点很多且块数很大时,对索引表可以采用折半查找,这样能够进一步提高查找的速度。

第 3 页,共 57 页

16.由于希尔排序的最后一趟与直接插入排序过程相同,因此前者一定比后者花费的时间更多。( )

【答案】×

【解析】希尔排序把序列分成很多小序列,对于直接插入排序,记录少时的效率会大大提高。并且序列在基本有序的情况下,直接插入排序也会提高。

17.二叉树是一般树的特殊情形。( )

【答案】×

【解析】树与二叉树是两种不同的树形结构,二叉树中的孩子结点有着严格左右之分的。

18.平衡二叉树中,若某个结点的左、右孩子的平衡因子为零,则该结点的平衡因子一定是零。( )

【答案】×

【解析】平衡因子定义为该结点的左子树的深度减去右子树的深度,一个平衡二叉树中,某节点的左右孩子的平衡因子为0,说明左孩子的左子树和右子数的深度相同,而且右子树的左子树和右子数的深度相同,但这不能说明该节点的左子树和右子树的深度相同。

19.若一个有向图无环,则它一定有唯一的拓扑序列。( )

【答案】×

【解析】有向图无环说明它一定有拓扑序列,但这个拓扑序列不唯一。如果在一个线性有序的序列中,每个顶点有唯一的前驱后继关系,在做拓扑排序时,则排序的结果是唯一的,即它有唯一的拓扑序列。

20.若一个广义表的表头为空表,则此广义表亦为空表。( )

【答案】×

【解析】广义表的表头就是广义表的第一个元素。只有非空广义表才能取表头。

三、算法设计题

21.从键盘上输入一串正整数,最后输入-1作为结束标志。如:

请设计一个非递归程序,创建一棵二叉排序树,并且该二叉排序树也必须是中序线索二叉树。设该二叉排序树上的结点结构为那么

序遍历次序的前驱结点的地址。

那么

【答案】算法如下:

第 4 页,共 57 页

其中:域为结点的数据场。

域中存在的是该结点的左儿子结点的地址。ltag=1,那么left 域中存放的是该结点的按中

那么right 域中存放的是该结点的右儿子结点的地址。

域中存放的是该结点的按中序遍历次序的后继结点地址。