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

2018年浙江理工大学理学院965软件基础之数据结构考研核心题库

  摘要

一、单项选择题

1. 一棵哈夫曼树共有215个结点,对其进行哈夫曼编码,共能得到( )个不同的码字。

A.107

B.108

C.214

D.215

【答案】B

【解析】此题可转化为一棵哈夫曼树共有215个结点,共有多少叶子结点。又有n0=n2++l,所以215=n0+n2=2*n2+l ,n2=107,n0=108。也就是说若对其进行哈夫曼编码,共能得到108个码字。

2. 以下说法错误的是( )。

(1)算法原地工作的含义是指不需要任何额外的辅助空间

(2)在相同的规模n 下,复杂度O(n)的算法在时间上总是优于复杂度O(2n ) 的算法

(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界

(4)同一个算法,实现语言的级别越高,执行效率就越低

A.(1)

B.(1), (2)

C.(1), (4)

D.(3)

【答案】A

【解析】算法原地工作的含义不是指不需要任何额外的辅助,而是算法所需要的辅助空间不随着问题的规模而变化,是一个确定的值。

3. 串是一种特殊的线性表,其特殊性体现在( )。

A. 数据元素是一个字符

B. 可以顺序存储

C. 数据元素可以是多个字符

D. 可以链接存储

【答案】A

4. 数组通常具有的两种基本操作是( )。

A. 查找和修改

B. 查找和索引

C. 索引和修改

D. 建立和删除

【答案】A

【解析】数组中的元素是顺序存放的,通过下标可以很好地查找数组元素,同时通过对应的指针可以修改数组元素的值,因此数组通常具有的两种基本操作是查找和修改。根据数组的性质,数组通常具有的两种基本运算是排序和查找。

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

A. 顺序表

B. 双链表

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

D. 单循环链表

【答案】A

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

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

6. 下列选项中, 在总线的数据线上传输的信息包括( )。

Ⅰ.

Ⅱ. 接口中的命令字 接口中的状态字

Ⅲ. 中断类型号

A. 仅Ⅰ、Ⅱ

B. 仅Ⅰ、Ⅲ

C. 仅Ⅱ、Ⅲ

D. Ⅰ、Ⅱ、Ⅲ

【答案】D 。

【解析】在总线的数据线上传输的信息包括接口中的命令字、状态字以及真正的数据, 而中断类型号也是通过数据线传输的。

7. 若X 是二叉中序线索树中一个有左孩子的结点,且X 不为根,则X 的前驱为( )。

A.X 的双亲

B.X 的右子树中最左的结点

C.X 的左子树中最右的结点

D.X 的左子树中最右的叶结点

【答案】C

【解析】中序线索,只有把其左子树最右结点遍历完后,才会遍历自己,所以X 的前驱为X

的左子树中最右的结点。

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

A. 二维数组和三维数组

B. 三元组和散列

C. 三元组和十字链表

D. 散列和十字链表

【答案】C

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

9. 某基于动态分区存储管理的计算机,,其主存容量为55MB(初始为空闲)采用最佳适配(BestFit)算法,分配和释放的顺序为:分配15MB 、分配30MB 、释放15MB 、分配8MB 、分配6MB ,此时主存中最大空闲分,区的大小是( ).

A.7MB

B.9MB

C.10MB

D.15MB

【答案】B

【解析】对于简单分区内存分配,需要将进程的所有代码和数据装入内存. 故55MB 先分配15MB 余40MB ,再分配30MB 后余10MB ,释放15MB 后出现一个15MB 和一个10MB 的空闲空间,分配8MB 时按最佳适配(BestFit)算法应该使用10MB 的空闲块,余2MB 的碎片,分配6MB 时占用15MB 的空间余9MB 的碎片(空闲空间),因此最大空闲区为9MB.

10.下列二叉排序树中,满足平衡二叉树定义的是( ). A. B.