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

2018年西北大学现代教育技术中心642数据结构与程序设计之数据结构考研强化五套模拟题

  摘要

一、单项选择题

1. 设图的邻接矩阵A 如下所示, 各顶点的度依次是( )

A.1, 2, 1, 2

B.2, 2, 1, 1

C.3, 4, 2, 3

D.4, 4, 2, 2

【答案】C

【解析】当图用邻接矩阵存储时, 各顶点的度是矩阵中此结点对应的横行和纵列非零元素之和。

2. 某计算机有五级中断

的顺序为

A.11110

B.01101

C.00011

D.01010

【答案】D , 则, 中断屏蔽字为表示对级中断进行

屏蔽。若中断响应优先级从高到低的顺序是, 且要求中断处理优先级从高到低的中断处理程序中设置的中断屏蔽字是( )。

B

排除掉。【解析】由于L 2的中断处理优先级下降, 屏蔽字中需要3个0, 所以可以将选项A 、

需要对开放, 所以相应位应该为“0”, 即为01010。

3. 已知一棵完全二叉树的第6层(设根为第1层) 有8个叶结点,则该完全二叉树的结点个数最多是( ).

A.39

B.52

C.111

D.119

【答案】C

【解析】完全二叉树的一个特点是:叶子结点只能出现在最下层和次下层. 题目中没有说明完全二叉树的高度,首先由完全二叉树的特点确定题目中树的高度. 根据题意,一棵完全二叉树的第

6层(设根为第1层) 有8个叶结点,可知此二叉树的高度是6或7. 题目中求二叉树的结点数最多的情况,因此此完全二叉树的高度为7. 由于高度为7的完全二叉树的前6层是一棵满二叉树,根据二叉树的性质2可知,高度为6的满二叉树的结点数是

目中二叉树的第6层结点数是. 又根据二叉树的性质1可知,题个结点,已知有8个叶子结点,那么其余32﹣8=24个结点均为分支结点,这些结点在第7层上最多有48个子结点(即叶子结点). 所以此二叉树的结点数最多 可达

4. 假设某计算机的存储系统由Cache 和主存组成. 某程序执行过程中访存1000次,其中访问Cache 缺失(未命中)50次,则Cache 的命中率是( ).

A.5% B.

C.50%

D.95%

【答案】D

【解析】Cache 的命中率H =N 1(N1+N 2) ,其中N 1为访问Cache 的次数,N 2为访存主存的次数,程序总访存次数为N 1+N 2,程序访存次数减去失效次数就是访问Cache 的次数队. 所以根据公式可得:H =(1000﹣50) /100=95%.

5. 对于下列关键字序列, 不可能构成某二叉排序树中一条查找路径的序列是( )。

A.95, 22, 91, 24, 94, 71

B.92, 20, 91, 34, 88, 35

C.21, 89, 77, 29, 36, 38

D.12, 25, 71, 68, 33, 34

【答案】A

【解析】各选项对应的查找过程如下图所示, 从中看到选项B 、C 、D 对应的查找树都是二叉排序树, 只有选项A 对应的查找树不是一棵二叉排序树, 因为在以91为根的左子树中出现了比91大的结点94。

6. 在一株高度为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个关键字。

7. 设栈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.

8. 当字符序列 作为图输入时,输出长度为3的且可用作C 语言标识符的序列的有( )。

A.4个

B.5个

C.3个

D.6个

【答案】C

【解析】首先需要明白C 语言标识符的命名规则。数字不能作为标识符的开头,因此第一个字符只能为t 或者下划线。若首字符为t ,有两种结果

和,若首字符为,

则只有一种结果

因此总共有3种结果。

9. 对如下所示的有向图进行拓扑排序, 得到的拓扑序列可能是( )

A.3, 1, 2, 4, 5, 6

B.3, 1, 2, 4, 6, 5