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

2017年江西农业大学计算机与信息工程学院819数据结构考研强化模拟题

  摘要

一、填空题

1. 当两个栈共享一存储区时,栈利用一维数组当栈1空时,

【答案】

为_____,栈2空时

表示,两栈顶指针为

为_____,栈满时为_____。

【解析】共享栈的栈底在共享存储区的两端,当栈满时栈顶相邻。

2. 高度为4的3阶B-树中,最多有_____个关键字。

【答案】26

【解析】第4层是叶结点,1层至3层每个结点两个关键字,每个节点的关键字达到最大时,关键字最多。

3.

给定一组数据

的值为_____。 【答案】5;96

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

以它构造一棵哈夫曼树,则树高为_____,

带权路径长度

4. 设T 和P 是两个给定的串,在T 中寻找等于P 的子串的过程称为_____,又称P 为_____。

【答案】模式匹配;模式串

5. 顺序栈用

【答案】

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

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

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

【答案】9

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

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

【程序说明】本程序完成将二叉树中左、右孩子交换的操作。交换的结果如下所示(编科略)本程序采用非递归的方法,设立一个堆栈交换左、右子树的算法为:

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

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

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

(1)

{(2)

If ( (3) )

}

}}

【答案】

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

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

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

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

先在二叉排序树T 中查找值为A 的结点,根据查找情况分别进行如下处理:(1)若找不到值为A 的结点,则返回根结点的地址(2)若找到值为A 的结点,则删除以此结点为根的子树,并释放此子树中的所有结点,若值为A 的结点是查找树的根结点,删除后变成空的二叉树,则返否则返回根结点的地址。

【答案】

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

【答案】线性表

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

二、选择题

11.在请求分页系统中,页面分配策略与页面置换策略不能组合使用的是( )。

A. 可变分配,全局置换 B. 可变分配,局部置换 C. 固定分配,全局置换 D. 固定分配,局部置换 【答案】

【解析】分配和置换策略有下面三个组合:①固定分配、局部置换;②可变分配、全局置换;,或根据程序员、③可变分配、局部置换。固定分配是指基于进程的类型(交互型或批处理型等)

程序管理员的建议,为每个进程分配一定数目的物理块,在整个运行期间都不再改变,采用该策略时,如果进程在运行中发现缺页,则只能从该进程在内存的n 个页面中选出一个页换出,然后再调入一页,才能保证分配给该进程的内存空间不变,因此不能有固定分配,全局置换组合。

12.某计算机采用二级页表的分页存储管理方式,按字节编址,页大小为字节,页表项大小为2字节,逻辑地址结构为:

逻辑地址空间大小为( )。

A.64 B.128 C.256 D.512

【答案】B

【解析】地址空间分为逻辑地址空间和物理地址空间。页的大小为采用二级页表,

一页可存放要

页,则表示整个逻辑地址空间的页目录表中包含表项的个数至少是

字节,页表项大小为2B ,

字节,故最少需

’个页表项,本题中逻辑地址空间大小为

个页面来保存页表项,故本题答案为B 。