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

2017年延边大学工学院831数据结构与操作系统考研仿真模拟题

  摘要

一、填空题

1. 设数组

数组中任一元素

均占内存48个二进制位,从首地址2000开始

连续存放在主内存里,主内存字长为16位,那么

(1)存放该数组至少需要的单元数是_____;

(2)存放数组的第8列的所有元素至少需要的单元数_____; (3)数组按列存储时,元素【答案】270; 27; 2204 【解析】数组的元素个数为需要

第8列有9个元素,共占

因为每个元素占内存48个二进制位,即6个字节。故总

个单元数。

个字节,因此至少需要

个单元数。由题知,每个元素占3

个字节,因为主内存字长为16位,即2个字节,所以至少需要

的起始地址是_____。

个单元。按列存储时,的起始地址为

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

【答案】

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

3. 在哈希函数中,P 值最好取_____。

【答案】小于等于表长的最大素数或不包含小于20的质因子的合数

【解析】在使用除留余数法时,对除数P 的选择很重要。若P 选的不好,容易产生同义词。一般情况下,可以选P 为质数或不包含小于20的质因素的合数。

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

【答案】

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

所以 5. 如下的算法分别是后序线索二叉树求给定结点node 的前驱结点与后继结点的算法,请在算法,其空格处填上正确的语句。设线索二叉树的结点数据结构为(lflag ,lcft ,data ,right ,rflag )中:lflag=0,lcft 指向其左孩子,lflag=1,left 指向其前驱:rflag=0,right 指向其右孩子,rflag=1,right 指向其后继。

Prior (node , x ) { if(node !=null)

If ( (1) ) *x=node->right;else * x-node->left; }

next (bt , node, x )/*bt是二叉树的树根*/ { (2) ;

if (node->rflag)(3); else {do t=*x;;

while (*x==node ); *x=t; } }

【答案】nodc->rflag==O; *x=ht; *x=nodc->right; prior (t , X )

6. 对于给定的元素,可以构造出的逻辑结构有_____,_____,_____,_____四种。

【答案】集合;线性结构;树形结构;图状结构(网状结构)

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

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

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

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

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

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

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

(1)

{(2)

If ( (3) )

}

}}

【答案】

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

重复这一操作。完成二叉树左右孩子的交换。

9. 克鲁斯卡尔算法的时间复杂度为_____,它对_____图较为适合。

【答案】O (eloge ); 边稀疏

10.循环队列的引入,目的是为了克服_____。

【答案】假溢出时大量移动数据元素

【解析】用数组实现队列时,如果不移动,随着数据的不断读写,会出现假满队列的情况。即尾数组已满但头数组还是空的。循环队列也是一种数组,引入循环队列,有效克服假溢出大量移动数据元素的问题。

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

【答案】关键字;记录号;记录号;顺序;直接 12.假定查找有序表

【答案】37/12

【解析】折半查找时每个的次数如表所示:

平均查找次数为

中每个元素的概率相等,则进行折半查找时的平均查找长度为_____

二、选择题

13.

某系统正在执行三个进程

例如下表所示。

各进程的计算(CPUCPUCPU

)时间和

时间比

为提高系统资源利用率,合理的进程优先级设置应( )

A.

B.

C.

D. 【答案】B

【解析】为了合理地设置进程优先级,应该将进程的CPU 利用时间和故答案选B 。

时间做综合考虑,