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

2018年河北工业大学计算机科学与软件学院802数据结构考研基础五套测试题

  摘要

一、填空题

1.

【答案】5

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

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

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

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

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

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

【答案】

=_____

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

3. G 是一个非连通无向图,共有28条边,则该图至少有_____个顶点。

【答案】9

【解析】求该非连通无向图的最少顶点数,则该图为一个孤立的顶点和一个完全连通图。

4. 索引顺序文件既可以顺序存取,也可以 _____存取。

【答案】随机

5. 用循环链表表示的队列长度为n ,若只设头指针,则出队和入队的时间复杂度分别是_____和_____;若只设尾指针,则出队和入队的时间复杂度分别是_____和_____。

【答案】O(1);O(n);O(1);O(1)

【解析】队列的出队操作即删除队头的元素,队列的入队操作即在队尾添加元素,循环链表只设头指针,出队时,只要把头结点的下一个结点删除就好了,入队时,要把新的结点插入队尾,必须把队列遍历,找到队尾指针,才能插入。循环队列只设尾指针,出队时只要把为指针的下一个结点或者下下个结点删除即可,入队时,只要在尾指针的后面插入新的结点,并更新尾结点即可。

6. 设有两个算法在同一机器上运行,其执行时闻分别为100n 2和2n ,要使前者快于后者,n 至少为_____。

【答案】15

【解析】当时,100n2>2n,而,

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

【答案】顺序存储结构

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

8. 数据结构中评价算法的两个重要指标是_____。

【答案】算法的时间复杂度和空间复杂度

9. 如果按关键码值递增的顺序依次将关键码值插入到二叉排序树中,则对这样的二叉排序树检索时,平均比较次数为_____。 【答案】

【解析】如果关键码是排好序的,构建二叉排序树就会形成一个单支树,它的查找效率和顺序查找效率一样为。

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

【答案】O(1);O(n)

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

11.按LSD 进行关键字排序,除最次位关键字之外,对每个关键字进行排序时,只能用_____的排序方法。

【答案】稳定

2n 时,100n <2

12.堆是一种有用的数据结构。堆排序是一种_____排序,堆实质上是一棵_____结点的层次序列。对含有N 个元素的序列进行排序时,堆排序的时间复杂度是_____,所需的附加存储结点是_____。关键码序列05, 23, 16, 68, 94, 72, 71, 73是否满足堆的险质_____ 。

【答案】选择;完全二叉树;

;O(1);满足堆的性质

二、单项选择题

13.两台主机之间的数据链路层采用后退N 帧协议(GBN)传输数据, 数据传输速率为16kbps , 单向传播时延为270ms , 数据帧长度范围是字节, 接收方总是以与数据帧等长的帧进行确认。为使信道利用率达到最高, 帧序号的比特数至少为( )。

A.5

B.4

C.3

D.237

【答案】B 。

【解析】GBN 的工作原理如下图所示, 本题求解的是发送一个帧到接收到这个帧的确认期间最多可以发送多少数据帧, 要尽可能多发送帧, 应以短的数据帧计算, 注意帧的单位是字节, 因此首先计算出发送一帧的时

; ,

这段时间总共可以发送, 故发送一帧到收到确认为止的总时间(帧) , 为了保证发送帧序号和确认帧序号在此期间不重复, 因此桢序号的比特数至少为4, 答案为

B

14.对序列{15,9,7,8,20,-1,4,}用希尔排序方法排序,经一趟后序列变为{15,-1,4,8,20,9,7}则该次釆用的增量是( )。

A.1

B.4

C.3

D.2

【答案】B

【解析】由所给的序列知,本序列要进行递增排序,经过一趟后15的位置没有变化,而给的序列中只有20比15大,20的位置和15的位置相差4。所以该次采用的增量是4。

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

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