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

2018年天津大学理学院901数据结构与程序设计之数据结构考研仿真模拟五套题

  摘要

一、填空题

1. 已知如下程序段:

语句1执行的时间复杂度为_____:语句2执行的时间复杂度为_____:语句3执行的时间复杂度为_____:语句4执行的时间复杂度为_____。

【答案】(1)n+1

(2)n

(3)n(n+3)/2

(4)n(n+l)/2

【解析】语s 句1执行到不符合条件情况下,执行了n +1次。当语句1不符合条件了是不会执行语句2的,所以语句2被执行了n 次。语句3每次都要执行到不符合条件,故为2+3+4...... +(n+l) 加起来就是n(n+3)/2。语句3不符合条件了是不会执行语句4的。所以语句4被执行了1+2+3...... +n 即n(n+l)/2。

2. 设为哈夫曼树的叶结点数目,则该哈夫曼树共有_____个结点。 【答案】

【解析】哈夫曼树只有度为0和2的节点。

3. 对于双向链表,在两个结点之间插入一个新结点需修改的指针共_____个,单链表为_____个。

【答案】4;2

4. 每一棵树都能唯一地转换为它所对应的二叉树。若已知一棵二叉树的前序序列是BEFCGDH ,中序序列是FEBGCHD ,则它的后序序列是_____。设上述二叉树是由某棵树转换而成,则该树的前序序列是_____

【答案】FEGHDCB ;BEF

【解析】树的前序序列对应二叉树的前序序列,该二叉树转换成森林时含三棵树,其第一棵树的前序是BEF 。

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

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

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

6. 设用希尔排序对数组{98,36,-9,0,47,23,1,8,10,7}进行排序,给出的步长(也称增

量序列) 依次是4, 2, 1则排序需_____趟,写出第一趟结束后,数组中数据的排列次序_____。

【答案】3; (10,7,-9,0,47,23,1,8,98,36)

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

【答案】P ﹣>next! =NULL

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

8. 当广义表中的每个元素都是原子时,广义表便成了_____。

【答案】线性表

【解析】如果每个元素都是原子,则元素不可分。此时的元素是只有一对一的关系,所以广义表变成了线性表。

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

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

10.一个算法具有5个特性: _____、_____、_____、有零个或多个输入、有一个或多个输出。

【答案】有穷性;确定性;可行性

11.检索是为了在文件中寻找满足一定条件的记录而设置的操作。检索可以按_____检索。也可以按_____检索;按_____检索又可以有 检索和_____检索。

【答案】关键字;记录号;记录号;顺序;直接

12.在有n 个顶点的有向图中,每个顶点的度最大可达_____。

【答案】2(n-1)

【解析】当有向图为完全连通图时每个顶点的度达到最大,出度入度均为n -1。

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

13.栈是_____的线性表,其运算遵循_____的原则。

【答案】操作受限(或限定仅在表尾进行插入和删除操作) ;后进先出

14.实现字符串拷贝的函数strcpv 为:

(_____)

【答案】s++=*t++或(*s++=*t++)!='\0’

15.组成串的数据元素只能是_____。

【答案】字符

二、单项选择题

16.已知一棵完全二叉树的第6层(设根为第1层) 有8个叶结点,则该完全二叉树的结点个数最多是( ).

A.39

B.52

C.111

D.119

【答案】C

【解析】完全二叉树的一个特点是:叶子结点只能出现在最下层和次下层. 题目中没有说明完全二叉树的高度,首先由完全二叉树的特点确定题目中树的高度. 根据题意,一棵完全二叉树的第6层(设根为第1层) 有8个叶结点,可知此二叉树的高度是6或7. 题目中求二叉树的结点数最多的情况,因此此完全二叉树的高度为7. 由于高度为7的完全二叉树的前6层是一棵满二叉树,根据二叉树的性质2可知,高度为6的满二叉树的结点数是

目中二叉树的第6层结点数是. 又根据二叉树的性质1可知,题个结点,已知有8个叶子结点,那么其余32﹣8=24个结点均为分支结点,这些结点在第7层上最多有48个子结点(即叶子结点). 所以此二叉树的结点数最多 可达

17.用直接插入排序方法对下面4个序列进行排序(由小到大) ,元素比较次数最少的是( )。

A.94,32,40,90,80,46,21,69

B.32,40,21,46,69,94,90,80

C.21,32,46,40,80,69,90,94

D.90,69,80,46,21,32,94,40

【答案】C