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

2018年青岛大学信息工程学院910数据结构考研核心题库

  摘要

一、单项选择题

1. 设栈S 和队列Q 的初始状态均为空,元素a ,b ,c ,d ,e ,f ,g 依次进入栈S. 若每个元素出

d ,c ,f ,e ,a ,g ,. 栈后立即进入队列Q ,且7个元素出队的顺序是b ,则找S 的容量至少是( )

A.1

B.2

C.3

D.4

【答案】C

【解析】由于栈具有先进后出的特性,队列具有先进先出的特性,出队顺序即为人队顺序.. 在本题中,每个元素出栈S 后立即进入队列Q ,出栈顺序即为入队顺序,所以本题中队列的作用形同虚设,根据题意出队顺序即为出栈顺序. 根据出桟顺序可以分析各个元素进出栈的过程:第一个出栈元素为b ,表明栈内还有元素a ,b 出栈前的深度为2;第二个出栈元素为d ,栈内元素为a 和c ,d 出栈前的深度为3;c 出栈后,剩余元素为a ,c 出栈前的深度为2;f 出栈后,剩余元素为a 和e ,f 出栈前的深度为3;e 出栈后,剩余元素为a ,e 出栈前的深度为2;a 出栈后,无剩余元素,a 出栈前的深度为1;g 出栈后,无剩余元素,g 出栈前的深度为1. 所以栈容量至少是3.

2. 设被排序的结点序列共有N 个结点,在该序列中的结点已十分接近排序的情况下,用直接插入法、归并法和一般的快速排序法对其排序,这些算法的时间复杂性应为( )。 A. B. | C. D.

【答案】C

【解析】因为该序列中的结点己经十分接近排序的情况,对于直接插入法,大部分结点只需要直接插入后面即可,因此时间复杂度为O(N)。对于采用归并法,它是一种稳定的排序方法,它的时间复杂度为。对于一般的快速排序法,序列越接近有序,所需要的比较次数越多,此时的时间复杂度为。

3. 若X 是二叉中序线索树中一个有左孩子的结点,且X 不为根,则X 的前驱为( )。

A.X 的双亲

B.X 的右子树中最左的结点

C.X 的左子树中最右的结点

D.X 的左子树中最右的叶结点

【答案】C

【解析】中序线索,只有把其左子树最右结点遍历完后,才会遍历自己,所以X 的前驱为X 的左子树中最右的结点。

4. 折半查找的时间复杂性为( )。 A.

B.O(n) C. D.

【答案】D

【解析】顺序查找的事件复杂度为

度为。

5. 设有向图G=(V, E) , 顶点集

边集, 因为折半查找是查找效率最髙的算法,它的事件复杂,

,

若从顶点V0开始对图进行深度优先遍历, 则可能得到的不同遍历序列个数是( )。

A.2

B.3

C.4

D.5

【答案】D

【解析】根据题意知有向图的结构如图所示。深度优先遍历的特点是尽可能先对纵深方向进行搜索, 所以可能得到的不同遍历序列分别是: ①

' ; ②; ⑤; ③。

6. 下列措施中, 能加快虚实地址转换的是1增大快表(TLB)2让页表常驻内存3增大交换区( )

A. 仅1

B. 仅2

C. 仅1, 2

D. 仅2, 3

【答案】C

【解析】加大快表能增加快表的命中率, 即减少了访问内存的次数; 让页表常驻内存能够使cpu 不用访问内存找页表, 从也加快了虚实地址转换。而增大交换区只是对内存的一种扩充作用, 对虚实地址转换并无影响

;

7. 下列调整中, 不可能导致饥饿现象的是( )

A. 时间片转移

B. 静态优先及调度

C. 非抢占式作业优先

D. 抢占式短作业优先

【答案】A

【解析】时间片转移方法能在一个周期内使每个进程都得到一个时间片的CPU 使用时间, 不会产生饥饿的现象, 其余三个都会产生饥饿。

8. 排序过程中, 对尚未确定最终位置的所有元素进行一遍处理称为一趟排序。下列排序方法中, 每一趟排序结束时都至少能够确定一个元素最终位置的方法是( )。

Ⅰ. 简单选择排序

Ⅱ. 希尔排序

Ⅲ. 快速排序

Ⅳ. 堆排

Ⅴ. 二路归并排序

A. 仅Ⅰ、Ⅲ、Ⅳ

B. 仅Ⅰ、Ⅱ、Ⅲ

C. 仅Ⅱ、Ⅲ、Ⅳ

D. 仅Ⅲ、Ⅳ、Ⅴ

【答案】A 。

【解析】其中简单选择排序、堆排序属于选择类排序, 每一趟排序结束时将确定最大(或最小) 关键字所在的位置。快速排序每一趟排序结束时将确定基准关键字所在的位置。希尔排序、二路归并排序每一趟排序结束时不一定能确定一个元素的最终位置。

9. 若一棵完全二叉树有768个结点, 则该二叉树中叶结点的个数是( )。

A.257

B.258

C.384

D.385

【答案】C

【解析】由

和可知, , 即, 显然

则384, 所以二叉树的叶结点个数是384。

还可以根据完全二叉树的另一个性质:

最后一个分支结点的序号为

384, 而叶子结点的个数为

。(表示不大于x 的最大整数, 比如, 故非叶子结点数为) 。