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

2018年中国农业科学院资源区划所808数据结构考研核心题库

  摘要

一、单项选择题

1. 假设某计算机的存储系统由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%.

2. 数据链路层采用后退N 帧(GBN)协议,发送方已经发送了编号为0〜7的帧. 当计时器超时,若发送方只收到0、2、3号帧的确认,则发送方需要重发的帧数是( ).

A.2

B.3

C.4

D.5

【答案】C

【解析】后退N 帧协议,即策略的基本原理是,当接收方检测出失序的信息帧后,要求发送方重发最后一个正确接收的信息帧之后的所有未被确认的帧;或者当发送方发送了N 个帧后,若发现该N 帧的前一个帧在计时器超时后仍未返回其确认信息,则该帧被判为出错或丢失,此时发送方就不得不重新发送出错帧及其后的N 帧. 本题收到3号帧的确认,说明0,1,2,3号帧已经收到,丢失的是4,5,6,7号帧,共4帧. 因此答案为C 项.

3. 对任意一棵树,设它有n 个结点,这n 个结点的度数之和为( )。

A.n

B.n ﹣2

C.n ﹣1

D.n +1

【答案】c

【解析】每个结点(除根节点外) 都是一个分支,即所有结点的度数之和等于分支个数等于总的结点数减一,即n ﹣1。

4. 采用指令Cache 与数据Cache 分离的主要目的是( )

A. 减低Cache 的缺失损失

B. 提高Cache 的命中率

C. 减低CPU 平均访问时间

D. 减少指令流水线资源冲突

【答案】D

【解析】指令流水线不会断流, 预取过来的都是指令

5. 在OSI 参考模型中, 直接为会话层提供服务的是( )

A. 应用层

B. 表示层

C. 传输层

D. 网络层

【答案】C

【解析】OSI 参考模型中, 下层直接为上层提供服务, 而会话层的下层为传输层。

6. 下列选项中, 在总线的数据线上传输的信息包括( )。

Ⅰ.

Ⅱ. 接口中的命令字 接口中的状态字

Ⅲ. 中断类型号

A. 仅Ⅰ、Ⅱ

B. 仅Ⅰ、Ⅲ

C. 仅Ⅱ、Ⅲ

D. Ⅰ、Ⅱ、Ⅲ

【答案】D 。

【解析】在总线的数据线上传输的信息包括接口中的命令字、状态字以及真正的数据, 而中断类型号也是通过数据线传输的。

7. 图的BFS 生成树的树高比DFS 生成树的树高( )。

A. 小或相等

B. 小

C. 大或相等

D. 大

【答案】A

【解析】BFS 称作广度优先搜索,DFS 称作深度优先搜索。广度优先搜索类似与二叉树的层序遍历算法,深度优先搜索类似于树的先序遍历。因为深度优先搜索算法遵循的策略是尽可能的

“深”地搜索一个图。所以图的BFS 生成树的树髙比DFS 生成树的树高小或者相等。

8. 已知程序如下:

{

}

voidmain ( )

{

>

}

程序运行时使用栈来保存调用过程的信息, 自栈底到桟顶保存的信息依次对应的是( )。

A. B. C. D.

【答案】A

【解析】函数S(int n)是一个递归函数:

①当实际参数小于等于零时则返回0, 并终止递归;

②当实际参数大于零时则递归调用S(n-1), 并将S(n-1)的结果加上n 作为返回值。程序从main ( )函数开始, 首先调用main ( )函数; 在main ( )函数中调用S(1)函数时, 将main ( )函数的上下文保存到栈中, 并进入函数S(1); 由于函数S(1)的实际参数大于零, 需要调用S(0), 故将S(1)函数的上下文保存到栈中, 进入S(0); 在S(0)中, 实际参数小于等于零, 递归终止。

9. 在任意一棵非空二叉排序树T1中, 删除某结点v 之后形成二叉排序树T2, 再将v 插入T2形成二叉排序树T3。下列关于T1与T3的叙述中, 正确的是( )

Ⅰ. 若v 是T1的叶结点, 则T1与T3不同

Ⅱ. 若v 是T1的叶结点, 则T1与T3相同

Ⅲ. 若v 不是T1的叶结点, 则T1与T3不同

Ⅳ. 若v 不是T1的叶结点, 则T1与T3相同

A. 仅Ⅰ、Ⅲ

B. 仅Ⅰ、Ⅳ

c. 仅Ⅱ、Ⅲ

d. 仅Ⅱ、Ⅳ

【答案】C

【解析】在一棵二叉排序树中删除一个结点后再将此结点插入到二叉排序树中, 如果删除的结点是叶子结点那么在插入结点后, 后来的二叉排序树与删除结点之前相同。如果删除的结点不是叶子结点, 那么再插入这个结点后, 后来的二叉树可能发生变化, 不完全相同。