一、单选题(每题 2 分,共20分)
1.以下数据结构中哪一个是线性结构?( B)
A.有向图 B.栈 C.二叉树 D. B树
2.若某链表最常用的操作是在最后一个结点之后插入一个结点和删除最后一个结点,则采用( C )存储方式最节省时间。
A.单链表 B.双链表
C.带头结点的双循环链表 D.单循环链表
3.以下哪一个不是队列的基本运算?(A )
A.在队列第i个元素之后插入一个元素
B.从队头删除一个元素
C.判断一个队列是否为空
D.读取队头元素的值
4.字符A、B、C、D依次进入一个栈,按出栈的先后顺序组成不同的字符串,至多可以组成( B )个不同的字符串。
A.15 B.14 C.16 D.21
5.由权值分别为4,7,6,2的叶子生成一棵哈夫曼树,它的带权路径长度为( B )。
A. 11 B. 37 C.19 D. 53
6-8题基于下面的叙述:若某二叉树结点的中序遍历的序列为A、B、C、D、E、F、G,后序遍历的序列为B、D、C、A、F、G、E。
6.该二叉树结点的前序遍历的序列为( C )。
A. E、G、F、A、C、D、B
B. E、A、G、C、F、B、D
C. E、A、C、B、D、G、F
D. E、G、A、C、D、F、B
7.该二叉树有( A )个叶子。
A.3 B.2 C. 5 D. 4
8.该二叉树的按层遍历的序列为( C )。
A. E、G、F、A、C、D、B
B. E、A、C、B、D、G、F
C. E、A、G、C、F、B、D
D. E、G、A、C、D、F、B
10.设有关键码序列(q,g,m,z,a),下面哪一个序列是从上述序列出发建的小根堆的结果?( B )
A. a,g,m,q,z B. a,g,m,z,q
C. g,m,q,a,z D. g, m,a,q,z
二、填空题(每空1分,共26分)
1.数据结构是指数据及其相互之间的_______。当结点之间存在1对N(1∶N)的联系时,称这种结构为_______。
2.一个广义表中的元素分为_______元素和_______元素两类。
3.对于一个长度为n的顺序存储的线性表,在表头插入元素的时间复杂度为_______,在表尾插入元素的时间复杂度为_______。
4.向一个由HS指向的链栈中插入一个结点p时,需要执行的操作是_______;删除一个结点时,需要执行的操作是_______(假设栈不空而且无需回收被删除结点)。
5.栈又称为_______表,队列又称为_______表。
6.在稀疏矩阵所对应的三元组线性表中,每个三元组元素按_______为主序、_______为辅序的次序排列。
7.若一棵二叉树中只有叶子结点和左、右子树皆非空的结点,设叶结点的个数为K,则左、右子树皆非空的结点个数是_______。
8.以折半(或二分)查找方法从长度为8的有序表中查找一个元素时,平均查找长度为_______。
9.表示图的三种常用的存储结构为_______、_______和_______。
10.对于线性表(78,4,56,30,65)进行散列存储时,若选用H(K)=K %5作为散列函数,则散列地址为0的元素有_______个,散列地址为4的有_______个。
11.在归并排序中,进行每趟归并的时间复杂度为______,整个排序过程的时间复杂度为______,空间复杂度为______。
12.在n个带权叶子结点构造出的所有二叉树中,带权路径长度最小的二叉树称为_______。WPL称为_______。
13.在索引表中,若一个索引项对应主表的一个记录,则此索引为_______索引,若对应主表的若干条记录,则称此索引为_______索引。
三、运算题(每题 6 分,共24分)