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

2017年内蒙古农业大学计算机与信息工程学院816计算机综合之数据结构考研强化模拟题

  摘要

一、选择题

1. 若一个用户进程通过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 所指示的缓冲区中。

2. 有六个元素6, 5, 4, 3, 2, 1顺序入栈,下列不是合法的出栈序列的是( )。

A.543612

B.453126

C.346521

D.234156

【答案】C

【解析】根据栈的后进先出的特点,对于C 选项中前两个元素得出栈顺序可以看出,4在5和6前先出栈,又根据入栈顺序,4在5和6后入栈,因此4出栈时,5和6必定在栈内,且5在6之上,所以出栈时5要比6先出找。

3. 将一棵树t 转换为孩子兄弟链表表示的二叉树h ,则t 的后序遍历是h 的( )。

A. 前序遍历

B. 中序遍历

C. 后序遍历

【答案】B

【解析】树的后序遍历恰好对应于二叉树的中序遍历。

4. 若用户1与用户2之间发送和接收电子邮件的过程如图所示,则图中①、②、③阶段分别使用的应用层协议可以是( )。

图 电子邮件发送接收示意图

A.SMTP 、SMTP 、SMTP

B.POP3、SMTP 、POP3

C.POP3、SMTP 、SMTP

D.SMTP 、SMTP 、POP3

【答案】D 。

【解析】题中电子邮件的工作过程如下:

①用户1调用用户代理来编辑要发送的邮件,用户代理用SMTP 将邮件传送给用户1的发送端邮件服务器。

②发送端邮件服务器也就是用户1的邮件服务器将邮件放入邮件缓存队列中,等待发送。 ③运行在发送端邮件服务器的SMTP 客户进程,发现在邮件缓存中有待发送的邮件,就向运行在接收端邮件服务器也就是用户2的邮件服务器的SMTP 服务器进程发起TCP 连接建立。当TCP 连接建立后,SMTP 客户进程开始向远程的SMTP 服务器发送邮件。当所有的待发邮件发完了,SMTP 就关闭所建立的TCP 连接。

④运行在接收端邮件服务器中的SMTP 服务器进程收到邮件后,将邮件放人收信人的用户邮箱中,等待收信人在他方便时进行读取。收信人在打算收信时,调用用户代理,使用POP 协议将自己的邮件从接收端邮件服务器的用户邮箱中取回(如果邮箱中有来信的话)。

因此题中1,2, 3阶段分别使用的应用层协议可以是SMTP ,SMTP , POP3, 因此答案是D 。SMTP 采用“推”的通信方式,用于用户代理向邮件服务器发送邮件、以及邮件服务器之间发送邮件。POP3采用“拉”的通信方式,用于用户从目的邮件服务器上读取邮件。

5. 用邻接表存储图所用的空间大小( )。

A. 与图的顶点数和边数都有关 B. 只与图的边数有关

C. 只与图的顶点数有关 D. 与边数的平方有关

【答案】A

【解析】邻接表就是对图G 中的每个顶点Vi 建立一个单链表,第i 个单链表中的结点表示依附于顶点V i 的边,这个单链表就称为顶点Vi 的边表。因此邻接表既存储图的所有顶点,也存储顶点之间的边的信息。

6. 无向图G=(V , E ), 其中:V={a, b , c , d , e , f )}, E={(a , b ), (a , e ), (a , c ),,(b , e ), (c , f )

,(f , d )(e , d ), 对该图进行深度优先遍历,得到的顶点序列正确的是( )。

A.a , b , e , c , d , f B.a , c , f , e , b , d

C.a , e , b , c , f , d D.a , e , d , f , c , b

【答案】D

【解析】图的深度优先遍历过程是:从图中某个初始顸点V 出发,首先访问初始顶点V ,然后选择一个与顶点V 相邻且没被访问过的顶点U 为初始顶点。再从U 出发进行深度优先搜索,直到图中与当前顶点V 邻接的所有顶点都被访问过为止。

,,,,,根据E={(a , b )(a ,e )(a ,c )(b ,e )(c , f )(f ,d ), (e ,d )}可知各顶点之间的邻

接关系。依据上面的原则遍历,得出遍历顺序a , e ,d ,f ,c , b 。

7. 采用简单选择排序,比较次数与移动次数分别为( )。

【答案】C

【解析】简单选择排序只在要交换的时候交换位置,及移动位置,共需移动n 次。而需要比 较的次数为

8. 栈和队的共同点是( )。

A. 都是先进后出

B. 都是后进先出

C. 只允许在端点处插入和删除元素

D. 没有共同点

【答案】C

【解析】栈和队列的区别是栈是先进后出的数据结构,队列是先进先出的数据结构,栈和队列的共同点是都只能在端点处插入和删除元素。

9. 响应外部中断的过程中,中断隐指令完成的操作,除保护断点外,还包括( )。

I. 开关中断II. 保存通用寄存器的内容III. 形成中断服务程序入口地址并送PC

A. 仅I 、II

B. 仅 I 、III

C. 仅 II 、III

D.I 、II 、III

【答案】B 。

【解析】中断隐指令完成的操作有3个:①保存断点;②关中断;③引出中断服务程序(形成中断服务程序入口地址并送PC )。而保存通用寄存器内容的操作是由软件来实现,不是由中断隐指令实现的。