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

2018年北京信息科技大学816《软件技术基础》综合(数据结构+面向对象技术)之数据结构考研强化五套模拟题

  摘要

一、填空题

1. 文件可按其记录的类型不同而分成两类,即 _____和_____文件。

【答案】操作系统文件;数据库

2. 已知链队列的头尾指针分别是f 和r ,则将值x 入队的操作序列是_____。

【答案】S =(LinkedList*)malloc(sizeof (LNode));s ﹣>data =x ;s ﹣>next =r ﹣>next ;r ﹣>next =s ;r =s ;

【解析】队列采用链式存储结构,先分配一个节点的内存,然后在队尾添加该节点。

3. 在单链表L 中,指针P 所指结点有后继结点的条件是_____

【答案】P ﹣>next! =NULL

【解析】指针所指节点的指针域所指向的元素非空,说明该指针所指节点有后继结点。

4. 高度为h 的堆中,最多有_____元素,最少有_____个元素。 【答案】

。当最后一层只有【解析】当这个堆构成的是满二叉树时,元素的个数最多,元素个数为

一个元素时,此时堆的元素个数最少,元素个数为。

5. 根据线性表的链式存储结构中每一个结点包含的指针个数,将线性链表分成_____和_____;而又根据指针的连接方式,链表又可分成_____和_____。

【答案】单链表;双链表;(动态) 链表;静态链表

【解析】线性表的链式存储结构根据每个结点包含的指针个数分为单链表和双链表,单链表只包含一个指针,指向后续元素,双链表包括两个指针,指向前一个元素和后续元素。根据指针的连接方式,链表可分为动态链表和静态链表。静态链表的指针指向下一个元素的编号,动态链表的指针指向下一个元素的物理位置。

二、单项选择题

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

7. 若需在的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是( )。

A. 快速排序

B. 堆排序

C. 归并排序

D. 直接插入排序

【答案】C

【解析】稳定排序有:插入排序、起泡排序、归并排序、基数排序。不稳定排序有:快速排序、

堆排序、shell 排序。时间复杂度平均为的有:归并排序、堆排序、shell 排序、快速排序。

8. 主机甲向主机乙发送一个(SYN一1, seq 一11220) 的TCP 段, 期望与主机乙建立TCP 连接, 若主机乙接受该连接请求, 则主机乙向主机甲发送的正确的TCP 段可能是( )。 A. B. C. D.

【答案】C

TCP 是面向连接的, 所谓面向连接, 就是当计算机双方通信时必需先建立连接, 然后数【解析】

据传送, 最后拆除三个过程, 也就是客户主动打开TCP 传输, 服务器被动打开。

第一次握手:客户发送

第二次握手:服务器发送

ack=x+1, 自己选择的序号seq=y。

第三次握手:

客户发送

器给出确认, 其ACK=1, 确认号ack=y+1。

客户的TCP 通知上层应用进程, 连接已经建立。服务器的TCP 收到主机客户的确认后, 也通

给服务器, 即客户的TCP 向服务器发出连接请求报文段, 给客户, 即服务器的TCP 收到连其首部中的同步位SYN=1, 并选择序号seq=x, 表明传送数据时的第一个数据字节的序号是X 。 接请求报文段后, 如同意则发回确认。服务器在确认报文段中应使SYN=1, 使ACK=1, 其确认号给服务器, 即客户收到此报文段后向服务

知其上层应用进程:TCP 连接已经建立。

因此, 本题中x=11220, y 是主机乙自动选取的序号, 可以与x 相同, 也可以不相同, 从而主机乙所发出的TCP 段应该是SYN=1, ACK=1, seq=y, ack=x+1, 即SYN=1, ACK=1, seq=y, ack=11221, 从而答案是C 。

9. 稀疏矩阵一般的压缩存储方法有两种,即( )。

A. 二维数组和三维数组

B. 三元组和散列

C. 三元组和十字链表

D. 散列和十字链表

【答案】C

【解析】稀疏矩阵一般的压缩方法为三元组表和十字链表。三元组表就是将非零元素及其对应的行和列构成一个三元组(行标,列标,值) 。十字链表相比三元组表而言,主要是对每个结点增加了两个链域。如果数组经常运算时,会产生大量数据元素的移动,此时,采用链表存储结构更为恰当。

10.某计算机主频为1.2GHz , 其指令分为4类, 它们在基准程序中所占比例及CPI 如下表所示。

该机的MIPS 数是( )

A.100

B.200

C.400

D.600

【答案】C

【解析】基准程序的

。 , 为1200MHz , 该机器的MIPS 为计算机的主频为

11.下列关于SMTP 协议的叙述中, 正确的是( )

Ⅰ. 只支持传输7比特ASC Ⅱ码内容

Ⅱ. 支持在邮件服务器之间发送邮件

Ⅲ. 支持从用户代理向邮件服务器发送邮件

Ⅳ. 支持从邮件服务器向用户代理发送邮件