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

2017年大连海事大学交通运输管理学院813管理信息系统与数据结构考研题库

  摘要

一、填空题

1. —棵深度为k 的平衡二叉树, 其每个非终端结点的平衡因子均为0,则该树共有_____个结点。

【答案】

【解析】每个非终端结点都是0表示该平衡二叉树没有高度落差。也就是说它是一棵满二叉 树。故结点个数为

2. 设正文串长度为n ,模式串长度为m ,则串匹配的KMP 算法的时间复杂度为_____。

【答案】

3. 分别采用堆排序,快速排序,起泡排序和归并排序,对初态为有序的表,则最省时间的是_____算法,最费时间的是_____算法。

【答案】起泡;快速

,【解析】当初态为有序表时,冒泡排序只需要进行一趟比较即可,此时时间复杂度为〇(n ) 而快速排序算法需要比较的次数达到最大,时间复杂度为

4. n 个顶点的有向图用邻接矩阵array 表示,下面是其拓扑排序算法,试补充完整。

注:(1)图的顶点号从0开始计;

(2)indegree 是有n 个分量的一维数组,放顶点的入度, (3)函数crein 用于记算顶点入度;

(4)有三个函数push (data ), pop( ), check( )其含义为数据data 入浅,出栈和测试栈是否空(不空返回1, 否则0)。

.

; (“图有回路”)

第 2 页,共 38 页

【答案】0; j; i; 0; indegree[i]=0; [vex][i]; k==l; indegree[i]=0

【解析】有向图用邻接矩阵表示时,顶点i 的入度等于第i 列的所有元素之和。拓扑排序过程:首先将入度 为0的顶点全部进栈。然后弹出栈顶结点,并将与弹出的顶点相连的其它顶点的入度 减一,然后判断这些顶点的 入度是否为零,如果为零,继续进栈,重复这些操作,完成拓扑排序。

5. 设有一个10阶对称矩阵A 采用压缩存储方式, (以行为主序存储:)则的地址为_____。

【答案】33

【解析】设存储的元素的行标为i ,列标为j 。若则

的地址为

的地址为将代入得33。

6. 在一个具有n 个单元的顺序栈中,假定以地址高端(即下标为n 的单元)作为栈底,以top 作为栈顶指针,则当向栈中压入一个元素时,top 的变化是top=_____。

【答案】

【解析】由于栈底在地址高端,栈中压入一个元素时,栈顶向地址底端移动一个单位,

所以

7. 对n 个记录的表r[l..n]进行简单选择排序,所需进行的关键字间的比较次数为_____。

【答案】n (n-1)/2

【解析】第一次需要n-1次比较,第i 此需要n-i 此比较,所以共需要、n-l+n-2+...+l=n(n-l )/2。

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

【答案】

9. 在单链表L 中,指针P 所指结点有后继结点的条件是_____

【答案】

【解析】指针所指节点的指针域所指向的元素非空,说明该指针所指节点有后继结点。

10.抽象数据类型的定义仅取决于它的一组_____,而与_____无关, 即不论其内部结构如何变化,只要它的_____不变,都不影响其外部使用。

【答案】逻辑特性;在计算机内部如何表示和实现;数学特性

二、判断题

11.3阶的B-树是平衡的3路搜索树。反之,一棵平衡的3路搜索树是3阶B-树。( )

【答案】×

【解析】3路搜索树并不具有3阶B-树的性质。因此一棵平衡的3路搜索树不一定是3阶B-第 3 页,共 38 页

树。

12.队列是一种插入与删除操作分别在表的两端进行的线性表,是一种先进后出型结构。 ( )

【答案】

【解析】队列是一种先入先出型结构,而栈才是先进后出的线性结构。

13.串长度是指串中不同字符的个数。( )

【答案】

【解析】不是,串长度是指串中字符的总个数。需要注意的是,在计算字符串的长度时,不要漏掉了空格。

14.树中的结点和图中的顶点就是指数据结构中的数据元素。( )

【答案】√

【解析】树中的结点和图中的顶点就是指数据结构中的数据元素,而它们的边指的是元素之间的关系。

15.健壮的算法不会因非法的输入数据而出现莫名其妙的状态。( )

【答案】

【解析】算法的健壮性是指当输入数据非法时,算法能作适当的处理并作出反应,而不应死机或输出异常结果。

16.哈希表的结点中只包含数据元素自身的信息,不包含任何指针。( )

【答案】×

【解析】哈希表的结点中可以包括指针,指向其元素。如哈希链表。

17.队列和栈都是运算受限的线性表,只允许在表的两端进行运算。( )

【答案】

【解析】栈只能在一端进行操作,队列可以在表的两端进行运算。

18.若中序遍历平衡的二叉排序树,可得到排好序的关键码序列。( )

【答案】√

【解析】二叉排序树对于每一个结点,它的左子树的所有结点的值都小于这个结点的值,而它的右子树的所有结点的值都大于这个结点的值。而采用中序遍历,遍历顺序为左根右,因此可以得到按增序排列的关键码序列。

19.若从二叉树的任一结点出发,到根的路径上所经过的结点序列按其关键字有序,则该二叉树一定是哈夫曼树。( )

【答案】×

第 4 页,共 38 页