数据结构期末复习试卷B.doc
《数据结构期末复习试卷B.doc》由会员分享,可在线阅读,更多相关《数据结构期末复习试卷B.doc(7页珍藏版)》请在冰豆网上搜索。
装订线
《数据结构》
复习卷B
题号
一
二
三
四
总分
得分
得分
评卷人
一.选择题(1*15=15分)
1.算法指的是……..……………………………..…………………..……………()
A.计算机程序 B.解决问题的计算方法
C.排序算法 D.解决问题的有限运算序列
2.某程序的时间复杂度为(3n+n2+8),其数量级表示为.…….……()
A.O(3n)B.O(n)
C.O(n2)D.1
3.线性表采用链式存储时,结点的存储地址………………………….…………()
A.必须是不连续的 B.连续与否均可
C.必须是连续的 D.和头结点的存储地址相连续
4.设数组data[m]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,则执行出队操作后其头指针front值为…………………………()
A.front=front+1 B.front=(front+1)%(m-1)
C.front=(front-1)%m D.front=(front+1)%m
5.若已知一个栈的入栈序列是12345,不可能有下列那个出栈序列()
A.12345B.13425
C.34521D.14235
6.一个线性表第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是………………………………………………………………()
A.110B.108C.100D.120
7.一棵二叉树有8个叶子,则度为2的结点个数为……………..……..…()
A.8 B.2
C.9 D.7
8.一棵深度为5层的二叉树,其结点总数最多不会超过:
………..……..…()
A.31个B.36个
C.72个 D.63个
9.串是一种特殊的线性表,其特殊性体现在:
………………………()
A.可以顺序存储B.串中的每个数据元素仅由一个字符组成
C.可以链式存储D.数据元素可以是多个字符
10.下面程序段的时间复杂度为………..………………..……………..()
y=0;
For(i=1;i<=n;i++)
y++;
A.O(n)B.O(n2)
C.O(sqrt(n))D.O
(1)
11.设有两个串p和q,求q在p中首次出现的位置的运算称作…………()
A.连接B.子串定位操作
C.求子串D.求串长
12.已知二叉树的先序序列为ABDECF,中序序列为DBEAFC,则后序序列为()
A.DEBAFCB.DEFBCA
C.DEBCFAD.DEBFCA
13.按照二叉树的定义,具有3个结点的二叉树的状态数为……………….……()
A.5B.4
C.3 D.2
14.将长度为n的单链表链接在长度为m的单链表之后的的时间复杂度为……()
A.O
(1) B.O(n)
C.O(m) D.O(m+n)
装订线
15.在线性表的下列运算中,不改变数据元素之间结构关系的运算是…..……()
A.插入B.删除
C.排序 D.定位
得分
评卷人
二.填空题(1*20=20分)
1.所有能输入到计算机中并被计算机程序处理的符号总称,被称为___________。
在计算机程序中通常作为一个整体进行考虑和处理的,通常被称为_____________。
不可分割的、含有独立意义的数据的最小单位,被称为_____________。
2.在一个带头结点的单循环链表中,p指向尾结点的直接前驱,则指向头结点的指针head可用p表示为head=___。
3.线性结构包括__________、___________、__________、数组、串。
4.判定顺序表a为空的条件是:
__________________________________。
5.顺序存储结构的队列称为_________________,链式存储结构的队列称为________________。
6.串的存储方式主要分为二种:
_____________存储结构和_______________存储结构。
7.若二叉树有m个叶结点,则度为2的结点有个。
8.树中结点的最大层次称为树的_____________。
树中除根结点以外,每个结点都有_____________个前驱和0到多个后继。
9.对于一棵完全二叉树按层次从左到右编号之后,结点i的左孩子编号为_________,右孩子编号为__________,其父结点的编号为__________。
10.深度为K的二叉树,结点最多有个,最少有个。
得分
评卷人
三.综合运用题(5*5=25分)
1.写出按先根序列遍历下面二叉树的结果:
C
B
A
I
H
F
D
K
J
G
E
2.4.把下列森林转换为对应的二叉树。
3.已知一棵二叉树的后序扫描序列和中序扫描序列分别为DECBHGFA和BDCEAFHG,试画出该二叉树。
A
B
C
D
E
F
G
H
L
I
J
K
4.画出下面树的孩子兄弟表示法。
装订线
C
B
A
I
H
F
D
K
J
G
E
5.将以下二叉树转换为森林。
得分
评卷人
四、选择填空(4*5=20分)
已知L是无头结点的单链表,且p结点既不是首结点,也不是尾结点,试从下列提供的语句中选出合适的语句序列。
(1)在p结点后插入s结点:
。
(2)在p结点前插入s结点:
。
(3)在表首插入s结点:
。
(4)在表尾插入s结点:
。
(5)删除p结点:
。
①p->next=s;
②s->next=L;
③free(p)
④s->next=p->next;
⑤L=s;
⑥q->next=p->next;
⑦q=L;
⑧while(q->next!
=p)q=q->next;
⑨q->next=s;
⑩while(q->next!
=null)q=q->next;
s->next=q->next;
s->next=p;
得分
评卷人
五.程序实践题(10*2=20分)
1.写一函数求带头结点单链表head中所有元素值的平均值。
typedefstructnode
{intdata;
structnode*next;
}LINKLIST;
intaverage(LINKLIST*head)
{
}
2.采用中序递归遍历算法,编制一个求二叉树结点元素总和的函数。
typedefstructnode1
{intdata;
structnode1*lchild,*rchild;
}BTCHINALR;
intsum(BTCHINALR*bt)
{
3.编写算法:
已知线性链表head,在p指针所指向的结点后插入一个元素x。
}命题人:
校对:
命题人:
马建林校对:
[单击此处输入试题校对]
第7页共7页