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

2018年河北大学电信学院893数据结构考研核心题库

  摘要

一、单项选择题

1. 执行完下列语句段后,f 值为( )。

A.2

B.4

C.8

D. 无限递归

【答案】B

【解析】该程序使用了递归调用,由题知,:f(0)=2;f(l)=l*f(0)=2;f(2)=2*f(l)=4;所以结果为4。

2. 在子网

A.0

B.1

C.2

D.4

【答案】C 中, 能接收目的地址为的IP 分组的最大主机数是( )。

【解析】每个子网中忽略子网内全为0和全为1的地址剩下的就是有效主机地址, 本题中由于子网的比特数是30, 因此用于主机的只有2位, 即00, 01, 10, 11, 有效主机地址是2个,

这里

显然是其广播地址, 因此答案是C 。

3. 现有容量为10GB 的磁盘分区, 磁盘空间以簇(duster)为单位进行分配, 簇的大小为4KB , 若采用位图法管理该分区的空闲空间, 即用一位(bit)标识一个簇是否被分配, 则存放该位图所需簇的个数为( )

A.80

B.320

C.80K

D.320K

【答案】A

【解析】磁盘的簇的个数为:

而一个簇的位示图能管理的簇的个数为:

所以需要簇的个数为

4. 动态存储管理系统中,通常可有( )种不同的分配策略。

A.1

B.2

C.3

D.4

E.5

【答案】C

【解析】动态存储管理系统中有以下三种:首次拟合法、最佳拟合法、最差拟合法。①首次拟合法,从表头指针开始查找可利用空间表,将找到的第一个大小不小于n 的空闲块的一部分分配给用户。②最佳拟合法,将可利用空间表中一个不小于n 且最接近n 的空闲块的一部分分配给用户。则系统在分配前首先要对可利用空间表从头到尾扫视一遍,然后从中找出一块不小于n 且最接近n 的空闲块进行分配。③最差拟合法,将可利用空间表中不小于n 且是链表中最大的空闲块的一部分分配给用户。

5. 对下图进行拓扑排序, 可以得到不同的拓扑序列的个数是( )。

A.4

B.3

C.2

D.1

【答案】B

【解析】拓扑排序的步骤为:

(1)在有向图中选一个没有前驱的顶点并且输出它;

(2)从图中删除该顶点和以它为尾的弧。重复上述两步, 直至全部顶点均已输出。由于没有前驱的顶点可能不唯一, 所以拓扑排序的结果也不唯一。题中所给图有三个不同的拓扑排序序列, 分别为abced , abecd , aebcd 。

6. 将线性表的数据元素进行扩充,允许带结构的线性表是( )。

A. 串

B. 树

C. 广义表

D. 栈

【答案】C

【解析】串、树、桟中的数据元素都是属于非结构的原子类型,元素的值是不可分解的。数组和广义表都是允许带结构的线性表。

7. 将森林F 转换为对应的二叉树T , F 中叶结点的个数等于( )

A.T 中叶结点的个数

B.T 中度为1的结点个数

C.T 中左孩子指针为空的结点个数

D.T 中右孩子指针为空的结点个数

【答案】C

【解析】森林转化为对应的二叉树是‘孩子-兄弟’存储的, 即左孩子指针指向当前节点的孩子节点, 右孩子指针指向当前节点的兄弟节点, 所以在T 中左孩子指针为空则代表它在森林中并没有孩子即为叶结点。所以选C

8. 对n 个记录的线性表进行快速排序为减少算法的递归深度,以下叙述正确的是( )。

A. 每次分区后,先处理较短的部分

B. 每次分区后,先处理较长的部分

C. 与算法每次分区后的处理顺序无关

D. 以上三者都不对

【答案】A

【解析】令递归函数为f ,第一次进行递归函数认为递归深度为1,以后从深度为n 的递归函数f 中再调用递归函数f ,此时深度为n+1。整个f 的最大深度为递归深度。

9. 某计算机采用微程序控制器, 共有32条指令, 公共的取指令微程序包含2条微程序, 各指令对应的微程序平均由4条微指令组成, 采用断定法(下址字段法) 确定下条微指令的地址, 则微指令中下址字段的位数至少是:( )

A.5

B.6

C.8

D.9

【答案】C 【解析】, ,

所以至少需要8位才能表示完130个地址。

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

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

B. 只与图的边数有关