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

2018年北京师范大学数学科学学院805数据结构(C语言版)之数据结构考研强化五套模拟题

  摘要

一、填空题

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

【答案】P ﹣>next! =NULL

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

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

(_____)

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

3. 在一个无向图的的邻接表中,若表结点的个数是m ,则图中边的条数是_____条。

【答案】

【解析】对于无向图,在邻接表中,如果存在n 条边,则会有2n 个表结点。

4. 设m 、n 均为自然数,m 可表示为一些不超过n 的自然数之和,f(m,n) 为这种表示方式的数目。例f(5,3) =5, 有5种表示方式:3+2, 3+1+1,2+2+1,2+1+1+1,1+1+1+1+1。

①以下是该函数的程序段,请将未完成的部分填入,使之完整。

_____

_____;

}

_____;

}

_____)

②执行程序,f(6,4) =_____。 【答案】①1; 1; f(m, n ﹣1) ; n ②9

5.

给定一组数据WPL 的值为_____。

【答案】5;96

以它构造一棵哈夫曼树,则树高为_____,带权路径长度

【解析】每次找两个最小的权值构建哈夫曼树:

6. VSAM 系统是由_____、_____、_____构成的。

【答案】索引集;顺序集;数据集

7. 二叉树的前序序列和中序序列相同的条件是_____。

【答案】空树或任何结点至多只有右子树的二叉树

【解析】前序遍历的顺序为根左右,中序遍历的顺序为左根右,因此若中序遍历和前序遍历序列相同,则任何结点都没有左子树。

8. 在顺序存储的二叉树中,编号为i 和j 的两个结点处在同一层的条件是_____。

【答案】要加“虚结点”。

设编号为i 和j 的结点在顺序存储中的下标为s 和t , 则结点i 和j 在同一层上的条件是

9. 表达式23+((12*3﹣2)/4+34,5/7) +108/9的后缀表达式是_____。

【答案】

(表达式中的点(.)是数分隔符,如

是三个数)

10.若不考虑基数排序,则在排序过程中,主要进行的两种基本操作是关键字的 _____和记录的_____。

【答案】比较;移动

11.一棵有11个结点的满二叉树有_____个度为1的结点、有_____个分支(非终端) 结点和_____个叶子,该满二叉树的深度为_____。

【答案】

【解析】满二叉树没有度为1的结点,度为0的结点等于度为2的结点个数+1。

【解析】用顺序存储结构存储二叉树时,要按完全二叉树的形式存储,非完全二叉树存储时,

12.如下的算法分别是后序线索二叉树求给定结点node 的前驱结点与后继结点的算法,

请在算法空格处填上正确的语句。 设线索二叉树的结点数据结构为其中:

left 指向其左孩子,

【答案】

13.顺序栈用

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

left 指向其前驱;,

right 指向其后继。

right 指向其右孩子,,

【答案】if(top!=n)data[++top]=x ;

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

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

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

)

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

的值在

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

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