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

2018年中国地质大学(武汉)信息工程学院952软件综合之数据结构考研强化五套模拟题

  摘要

一、填空题

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

【答案】FEGHDCB ;BEF

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

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

【答案】top ﹣1

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

3. 在进行入栈运算时应先判别栈是否_____:在进行出栈运算时应先判别栈是否_____:当栈中元素为n 个,进行入栈运算时发生上溢,则说明该栈的最大容量为_____。为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的空间时,应将两栈的_____分别设在内存空间的两端,这样只有当_____时才产生溢出。

【答案】满;空;n ;栈底;两栈顶指针相邻(即值之差的绝对值为1)

4. 设广义表L =(( ),( )) ,则head(L)是_____tail(L)是_____L的长度是_____;深度是_____。

【答案】( );(( )) ;2;2

【解析】广义表的表头是表的第一个元素,表尾是除了第一个元素外其余的所有的元素构成的表;表的长度指表中元素的个数;表的深度指展开后括号的层数。

5. 当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用_____存储结构。

【答案】顺序

【解析】顺序存储结构的存取操作比较方便,但插入和删除操作不如链式存储结构方便,而且需要连续的存储空间,由于该线性表的元素总数基本稳定,而且很少进行插入删除操作,为了

更快的存取元素,顺序表更合适。

6. 设T 是一棵结点值为整数的二叉排序树,A 是一个任意给定的整数。在下面的算法中,free_tree(T)在对二叉排序树丁进行后序遍历时释放二又排序树T 的所有结点

,首先在二叉排序树T 中查找值为A 的结点,根据查找情况分别进行如下

处理:(1)若找不到值为A 的结点,则返回根结点的地址(2)若找到值为A 的结点,则删除以此结点为根的子树,并释放此子树中的所有结点,若值为A 的结点是查找树的根结点,删除后变成空的二叉树,则返NULL ; 否则返回根结点的地址。

【答案】

在B

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

【答案】93

【解析】对于上三角矩阵,k =(i﹣l)(2n﹣i +2)/2+(j﹣i) +l 。将i =j =9,n =15代入得93。

8. 设数组的基地址为2000,每个元素占2个存储单元,若以行序为主序顺序存储,则元素a[45,68]的存储地址为_____;若以列序为主序顺序存储,则元素a[45,68]的存储地址为_____。

【答案】9174;8788

【解析】设一个元素的行标为i ,列标为j 。若以行序为主存储顺序,则它的存储地址为2000+((i﹣l)*80+j ﹣

1) 2。若以列序为主存储顺序,则它的存储地址为2000+((j﹣l)*50+i ﹣l)*2。

9. 文件由_____组成;记录由_____组成。

【答案】记录;数据项

10.应用prim 算法求解连通网络的最小生成树问题。

(1)针对如图所示的连通网络,试按如下格式给出在构造最小生成树过程中顺序选出的各条

边。(始顶点号,终顶点号,权值

)

(2)下面是Prim 算法的实现,中间有5个地方缺失,请阅读程序后将它们补上。

的值在

图的顶点数,应由用户定义

用二维数组作为邻接矩阵表示

生成树的边结点

边的起点与终点

边上的权值

最小生成树定义

从顶点rt 出发构造图G 的最小生成树T , rt 成为树的根结点

初始化最小生成树

T

依次求MST 的候选边

遍历当前候选边集合

选具有最小权值的候选边

图不连通,出错处理

修改候选边集合

【答案】(1)(2)