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

2017年武汉科技大学信息科学与工程学院856数据结构(C语言版)考研冲刺密押题

  摘要

一、选择题

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

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。

2. 先序序列为a , b,c , d的不同二叉树的个数是( )。

A.13 B.14 C.15 D.16

【答案】B

【解析】二叉树的先序遍历定义为:若二叉树为空,则空操作;否则,访问根节点,然后先序遍历左子树,最后先序遍历右子树。本题中,结点a 为二叉树的根节点,左右子树的先序遍历可能存在下面四种情况:①左子树为空,bed 为右子树;②b 为左子树,cd 为右子树;③be 为左

子树,d 为右子树;④bed 为左子树,右子树为空。然后将左右子树继续分解,如第①种情况的右子树先序遍历(bed )可能有:a. 左子树为空,右子树为cd ;b. 左子树为c ,右子树为d ;c. 左子树为cd ,右子树为空。按照这种方法继续分解左右子树,直到不能再分解为止,可得第①和④种情况各包含5种不同情况,第②和③种情况各包含2种情况,因此总共有14种不同的二 叉树。

3. 下列关于虚拟存储的叙述中,正确的是( )。

A. 虚拟存储只能基于连续分配技术 B. 虚拟存储只能基于非连续分配技术 C. 虚拟存储容量只受外存容量的限制 D. 虚拟存储容量只受内存容量的限制 【答案】D 。

【解析】所谓虚拟存储,是指运行的进程不必全部装入内存,只需要部分装入便可以开始运行的一种技术,在运行过程中,当所需要的代码部分不在内存时,通过一种技术(例如缺页中断,技术)将所需要的页面调入内存,从而继续运行。虚拟存储可以在较少的内存中运行较大的程序。但是需要有较大的外存以及相应的软、硬件 机制配合才能实现。虚拟存储器可以连续分配也可以非连续分配,虚拟存储器和外存大小没有关系,所以选项中 的A ,B ,C 都是错误的,所以答案是D 项。

4. 若一个用户进程通过read 系统调用读取一个磁盘文件中的数据,则下列关于此过程的叙述中,正确的是( )。

I. 若该文件的数据不在内存,则该进程进入睡眠等待状态;II. 请求read 系统调用会导致CPU 从用户态切换到核心态;III. read系统调用的参数应包含文件的名称

A. 仅 I 、II B. 仅 I 、III C. 仅 II 、III D.I 、II 和III 【答案】A

,原进程【解析】对于I ,当所读文件的数据不再内存时,产生中断(缺页中断、缺段中断),直到所需数据从外村调入内存后,将该进程唤醒,使其变为就绪进入睡眠等待状态(阻塞状态)

状态。对于II , read系统调 用CPU 将从用户态切换到核心态,从而获取操作系统提供的服务。对于III ,在操作系统中,要读一个文件首先要open 系统调用将该文件打开。Open 系统调用的参数需要包含文件的路径名与文件名,而read 系统调用只需使用open 返回的文件描述符,并不使用Read 系统调用要求用户提供三个输入参数:文件名作为参数。①文件描述 符;②buf 缓冲区首址;③传送的字节数n 。read 系统调用的功能是试图从fd 所指示的文件中读入n 个字节的数据,并将它们送至由指针buf 所指示的缓冲区中。

5. 在双向链表指针P 的结点前插入一个指针q 的结点操作是( )。

A.

B.

C.

D. 【答案】C

6. —个多道批处理系统中仅有P1和P2两个作业,P2比P1晚5ms 到达。它们的计算和P1:计算60ms ,作顺序如下:

计算

计算

计算

虑调度和切换时间,则完成两个作业需要的时间最少是( )。

A.240ms B.260ms C.340ms D.360ms

【答案】B 。

若不考

【解析】考查处理系统的性能计算,由于P2比PI 晚5ms 到达,PI 先占用CPU ,根据PI 和P2的执行过程,作业运行的甘特图如下所示,故答案为B 。

7. 若某通信链路的数据传输速率为

A.600波特 B.1200波特 C.4800波特 D.9600波特 【答案】B

采用4相位调制,则该链路的波特率是( )。

【解析】注意无噪声下的码元速率极限值B 与信道带宽H 的关系:B = 2xH (Baud ), 而奈奎斯特公式一无噪信道传输能力公式是而可以得到波特率与数据传输速率的关系,即N=4,因此波特率是1200, 答案是B 。

8. 已知一算术表达式的中缀表达式为

【答案】D

【解析】后缀表达式:在程序语言中,运算符位于两个操作数后面的表达式。

N 为一个码元所取的离散值个数。从

在本题中数据传输速率C = 2400,

其后缀形式为( )。