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

2017年军事医学科学院生物工程研究所836计算机应用之数据结构考研仿真模拟题

  摘要

目录

2017年军事医学科学院生物工程研究所836计算机应用之数据结构考研仿真模拟题(一) ... 2 2017年军事医学科学院生物工程研究所836计算机应用之数据结构考研仿真模拟题(二) ... 9 2017年军事医学科学院生物工程研究所836计算机应用之数据结构考研仿真模拟题(三) . 16 2017年军事医学科学院生物工程研究所836计算机应用之数据结构考研仿真模拟题(四) . 23 2017年军事医学科学院生物工程研究所836计算机应用之数据结构考研仿真模拟题(五) . 29

一、填空题

1. 每一棵树都能唯一地转换为它所对应的二叉树。若已知一棵二叉树的前序序列是中序序列是前庁序列是_____。

【答案】

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

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

【答案】2(n-l )

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

3. 以下是用类C 语言写山的算法,该算法将以二叉链表存储的二叉树中的叶结点按从左到右的顺序链成一个带头结点的双向循环链表,链接时,结点的Lchild 域作为前链域,指向结点的直接前驱,结点的Rchild 域作为后链域,指向结点的直接后继。算法中,使用一个顺序栈stack , 栈顶head 为双向循坏链表的头指针。 指针为top , P , t 为辅助指针,试填充算法中的空格,使算法完整。

void leafchain(BiTree Abt)

{p={BiTree)malloc (sizeof (BiTNode )); If (!p ){print£(“OVERFLOW\n”; exit (1); }

head=p; top=0; if (bt )

{top++; stack[top]=bt; while (top )

{t=stack[top]; top--;

if (it->Lchild && !t->Rchild){ (1) ; (2) ; (3) ; } else {if( (4) ){top++; stack[top]= (5) ; } if ( (6) ){top++; stack[top]= (5) ; } } }

(8) ; (9) ; } } 【答案】

p->Rchild=t:t->Lchild=p:p=t:

t->Rchild!=null:t->Rchild:

.

,则它的后庁序列是_____。设上述二叉树是由某棵树转换而成,则该树的

t->Lchild!=null: t->Lchild:

p->Rchild=head:head->Lchild=p

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

【答案】随机

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

【答案】起泡;快速

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

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

本程序采用非递归的方法,设立一个堆栈交换左、右子树的算法为:

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

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

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

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

(1)

{(2)

If ( (3) )

}

}}

【答案】

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

7. 有五个数据依次入栈:1,2, 3, 4, 5。在各种出栈的序列中,以3, 4先出栈的序列有_____。(3在4之前出栈)

【答案】3个

【解析】以3, 4先出栈的序列有34521、34215、34251共3个。

8. 设二维数组A 的行和列的下标范围分别为

【答案】

和每个元素占2个单元,按行优先顺处的元素为_____。

当其值为

序存储,第一个元素的存储起始位置为b ,则存储位置为

【解析】令这个元素的行标为i ,列标为j 。则它的存储位置是时,则i=2,j=3。

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

【答案】顺序存储结构

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

10.设有个结点的完全二叉树顺序存放在向量中,其下标值最大的分支结点为_____。

【答案】

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

11.顺序栈用存储数据,栈顶指针是top ,则值为x 的元素入栈的操作是_____。

【答案】

【解析】先判断栈是否满,如果不满,元素入栈。否则返回溢出信息。

12.以下程序的功能是实现带附加头结点的单链表数据结点逆序连接,请填空完善之。

【答案】(1)(2)

链表未到尾就一直进行

将当前结点作为头结点后的第一元素结点插入

13.已知二叉排序树的左右子树均不为空,则_____上所有结点的值均小于它的根结点值,_____上所有结点的值均大于它的根结点的值。

【答案】左子树;右子树 【解析】二叉排序树

或者是一棵空树,或者是具有下列性质的二叉树:①若它

的左子树不空,则左子树上所有结点的值均小于它的根结点的值;②若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;③它的左、右子树也分别为二叉排序树。

14.根据线性表的链式存储结构中每一个结点包含的指针个数,将线性链表分成_____和_____; 而又根据指针的连接方式,链表又可分成_____和_____。

【答案】单链表;双链表;(动态)链表;静态链表