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

2018年河南大学软件学院928专业基础课(程序设计、数据结构)[专业硕士]之数据结构考研核心题库

  摘要

一、单项选择题

1. 在下图所示的平衡二叉树中, 插入关键字48后得到一棵新平衡二叉树。在新平衡二叉树中, 关键字37所在结点的左、右子结点中保存的关键字分别是( )。

A.13、48

B.24、48

C.24、53

D.24、90

【答案】C

【解析】题目中, 插入48以后, 树根结点的平衡因子由-1变为-2, 失去平衡。这属于RL(先右后左) 型平衡旋转, 需做两次(先右旋后左旋转) 旋转操作。过程如下图所示:

显然, 在调整后的新平衡二叉树中, 关键字37所在结点的左、右子结点中保存的关键字分别是24, 53。

2. 下列选项中, 会导致用户进程从态切换到内核的操作是( )

Ⅰ. 整数除以零

Ⅱ.sin ( )函数调用

Ⅲ.read 系统调用

A. 仅Ⅰ、Ⅱ

B. 仅Ⅰ、Ⅲ

C. 仅Ⅱ、Ⅲ

D. Ⅰ、Ⅱ和Ⅲ

【答案】B

【解析】对于Ⅰ, 系统发生异常, 需要进入内核态由操作系统进行处理, 而read 系统调用函数也是在内核态执行, sin ( )就是普通的用户函数, 在用户态执行, 故答案为C 。

3. 下面给出的四种排序方法中,排序过程中的比较次数与排序方法无关的是( )。

A. 选择排序法

B. 插入排序法

C. 快速排序法

D. 堆排序法

【答案】A

【解析】选择排序的基本思想是:

第i 趟排序开始时,当前有序区和无序区分别为则是从当前无序区中选出关键字最小的记录

和分别变为新的有序区和新的无序区。 和,该趟排序,将它与无序区的第1个记录R[i]交换,使

4. 在一株高度为2的5阶B 树中, 所含关键字的个数最少是( )

A.5

B.7

C.8

D.14

【答案】A

【解析】根据B 树的定义可知, 跟结点最少含有max(2, (m-1))个关键字, 高度为2的阶B 树最少有(5-1)+1=5个关键字, 其中根节点含有(5-1)个关键字, 第2层结点含有1个关键字。

5. 循环两列放在一维数组中, end1指向队头元素, end2指向队尾元素的后一个位置。假设队列两端均可进行入队和出队操作, 队列中最多能容纳M-1个元素。初始时为空, 下列判断队空和队满的条件中, 正确的是( )

A. 队空:endl==end2; 队满:endl==(end2+l)modM

B. 队空Gendl==end2; 队满:Gend2==(endl+1)mod(M-1)

C. 队空Gend2==(endl+1)modM; 队满:Gendl==(end2+l)modM

D. 队空:

【答案】A

【解析】在循环队列中, 在少用一个元素空间的前提下, 可约定入队前, 测试尾指针在循环意义下加1后是否等于头指针, 若相等, 则队满。而队空的条件还是首尾指针是否相等。

6. 算法的计算量的大小称为计算的( )。

A. 效率

队满:

B. 复杂性

C. 现实性

D. 难度

【答案】B

【解析】算法复杂度通常分为时间复杂度和空间复杂度,算法的计算量的大小可以用时间复杂度衡量,即可以称为计算的复杂度。

7. 设n 是描述问题规模的非负整数, 下面程序片段的时间复杂度是( )。

A. B. C. D.

【答案】A

【解析】其中, 以基本的原操作重复执行的次数作为算法的时间度量。题目中的基本运算是语

句, 设其执行时间为, 则有即。

8. 在一个文件被用户进程首次打开的过程中, 操作系统需做的是( )

A. 将文件内容读到内存中

B. 将文件控制块读到内存中

C. 修改文件控制块中的读写权限

D. 将文件的数据缓冲区首指针返回给用户进程

【答案】B

【解析】概念

9. 分别以下列序列构造二叉排序树,与用其他三个序列所构造的结果不同的是( )。

A.(100, 80, 90, 60, 120, 110, 130)

B.(100, 120, 110, 130, 80, 60,90)

C.(100, 60, 80, 90, 20, 110, 130)

D.(100, 80, 60, 90, 120, 130, 110)

【答案】C

【解析】二叉排序树:左右子树都是二叉排序树,且保证右子树都比根结点大,左子树都比根结点小。据以上两点建立二叉排序树。

10.假设栈初始为空, 将中缀表达式

当扫描到f 时, 栈中的元素依次是( ) A.

转换为等价后缀表达式的过程中,