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

2018年福建师范大学教育学院620计算机基础之数据结构考研基础五套测试题

  摘要

一、单项选择题

1. 若对n 阶对称矩阵A 以行序为主序方式将其下三角形的元素(包括主对角线上所有元素) 依次存放于一维数组B[l...(n(n+1))/2]中,则在B 中确定a ij (i<j) 的位置k 的关系为( )。

A.i*(i﹣1)/2+j

B.j*(j﹣1)/2+i

C.i*(i+1)/2+j

D.j*(j+1)/2+i

【答案】B

【解析】将n 阶对称矩阵存人一维数组中,一维数组的大小需为n(n+1)/2。对n 阶对称矩阵A 以行序为主序方式将其下三角形的元素(包括主对角线上所有元素)

依次存放于一维数组

中,当i <j 时,i 与k 的关系为j*(j﹣1)/2+i 。

2. 下列线索二叉树中(用虚线表示线索) , 符合后序线索树定义的是( )。

【答案】D

【解析】线索二叉树利用二叉链表的空链域来存放结点的前驱和后继信息, 解题思路较简单。题中所给二叉树的后序序列为dbca 。结点d 无前驱和左子树, 左链域空, 无右子树, 右链域指向其后继结点b ; 结点b 无左子树, 左链域指向其前驱结点d ; 结点c 无左子树, 左链域指向其前驱结点b , 无右子树, 右链域指向其后继结点a 。所以正确选项为D 。

3. 若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( )存储方式最节省时间。

A. 顺序表

B. 双链表

C. 带头结点的双循环链表

D. 单循环链表

【答案】A

【解析】线性表采用顺序表,便于进行存取任一指定序号的元素;线性表采用链表,便于进

行插入和删除操作。但该题是在最后进行插入和删除运算,所以利用顺序表存储方式最节省时间。

4. 主机甲与乙之间已建立一个TCP 连接, 双方持续有数据传输, 且无差错与丢失。若甲收到1个来自乙的TCP 段, 该段的序号为1913、确认序号为2046、有效载荷为100字节, 则甲立即发送给乙的TCP 段的序号和确认分别是( )

A.2046、2012

B.2046、2013

C.2047、2012

D.2047、2012

【答案】B

【解析】若甲收到1个来自乙的TCP 段, 该段的序号seq=1913、确认序号ack=2046、有效载荷为100字节, 则甲立即发送给乙的TCP 段的序

, 答案为B 。

5. 已知一棵有2011个结点的树, 其叶结点个数为116, 该树对应的二叉树中无右孩子的结点个数是( )。

A.115

B.116

C.1895

D.1896

【答案】D

【解析】每个非终端结点转换成二叉树后都对应一个无右孩子的结点(因为一个非终端结点至少有一个孩子结点, 其最右边的孩子结点转换成二叉树后一定没有右孩子) , 另外, 树根结点转换成二叉树后也没有右孩子。题目中树的总结点数是2011, 叶结点个数是116, 则非终端结点个数是2011-116=1895, 则该树对应的二叉树中无右孩子的结点个数是1895+1=1896。

6. 对有2个顶点e 条边且使用邻接表存储的有向图进行广度优先遍历, 其算法时间复杂度是( )。 A. B. C. D.

【答案】C 。

【解析】遍历图的过程实质上是对每个顶点查找其邻接点的过程。其耗费的时间则取决于所

和确认序

采用的存储结构。当用二维数组表示邻接矩阵图的存储结构时,

查找每个顶点的邻接点所需时间为

, 其中n 为图中顶点数。而当以邻接表作图的存储结构时, 找邻接点所需时间为0(e), 其中e 为无向图中边的数或有向图中弧的数。由此, 当以邻接表作存储结构时, 深度优先搜索遍历图的时间复杂度为。即可得出正确答案。

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

A. 前序遍历

B. 中序遍历

C. 后序遍历

【答案】B

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

8. 循环两列放在一维数组中, end1指向队头元素, end2指向队尾元素的后一个位置。假设队列两端均可进行入队和出队操作, 队列中最多能容纳M-1个元素。初始时为空, 下列判断队空和队满的条件中, 正确的是( )

A. 队空:endl==end2; 队满:endl==(end2+l)modM

B. 队空Gendl==end2; 队满:Gend2==(endl+1)mod(M-1)

C. 队空Gend2==(endl+1)modM; 队满:Gendl==(end2+l)modM

D. 队空:

【答案】A

【解析】在循环队列中, 在少用一个元素空间的前提下, 可约定入队前, 测试尾指针在循环意义下加1后是否等于头指针, 若相等, 则队满。而队空的条件还是首尾指针是否相等。

9. 下列选项中,操作系统提供的给应用程序的接口是( ).

A. 系统调用

B. 中断

C. 库函数

D. 原语

【答案】A

【解析】操作系统提供给用户应用程序的接口只有两种:命令输入和系统调用. 其中,命令输入又有不同的形式,例如常规的命令行、图形化人机交互接口(GUI)、自然命令用户接口(NUI)等,而系统调用中除了常规的一些传统的系统调用(例如read ( )) 以外,还有经过扩展的复杂调用(例如多种API) ,以及包含在Lib 库中的各种封装好的过程调用(最终都是通过系统调用陷入到操作系统中去的)等.

10.在对n 个元素的序列进行排序时,堆排序所需要的附加存储空间是( )。 A.

队满: