厦门理工学院12级数据结构期末试卷与答案Word下载.docx
- 文档编号:14326376
- 上传时间:2022-10-22
- 格式:DOCX
- 页数:14
- 大小:1.10MB
厦门理工学院12级数据结构期末试卷与答案Word下载.docx
《厦门理工学院12级数据结构期末试卷与答案Word下载.docx》由会员分享,可在线阅读,更多相关《厦门理工学院12级数据结构期末试卷与答案Word下载.docx(14页珍藏版)》请在冰豆网上搜索。
(本题共20小题,每题2分,共40分)
1、链式存储的存储结构所占存储空间()。
A.分两部分,一部分存放结点的值,另一部分存放表示结点间关系的指针
B.只有一部分,存放结点的值
C.只有一部分,存储表示结点间关系的指针
D.分两部分,一部分存放结点的值,另一部分存放结点所占单元素
2、已知一个顺序存储的线性表,设每个结点占m个存储单元,若第一个结点的地址为B,则第i个结点的地址为()。
A.B+(i-1)*m B.B+i*m C.B-i*mD.B+(i+1)*m
3、两个指针P和Q,分别指向单链表的两个元素,P所指元素是Q所指元素前驱的条件是()。
A.P->
next==Q->
nextB.P->
next==QC.Q->
next==PD.P==Q
4、下面关于线性表的叙述中,错误的是()关系。
A.顺序表必须占一片地址连续的存储单元
B.顺序表可以随机存取任一元素
C.链表不必占用一片地址连续的存储单元
D.链表可以随机存取任一元素
5、等概率情况下,在有n个结点的顺序表上做插入结点运算,需平均移动结点的数目为()。
A.n B.(n-1)/2C.n/2D.(n+1)/2
6、设数组data[m]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,则执行出队操作后其头指针front值为()。
A.front=front+1B.front=(front+1)%(m-1)
C.front=(front-1)%mD.front=(front+1)%m
7、下列算法的时间复杂度是()。
for(i=0;
i<
n;
i++)
for(j=0;
j<
j++)
c[i][j]=i+j;
A.O
(1)B.O(n)C.O(log2n)D.O(n2)
8、从一个栈顶指针为top的链栈中删除一个结点时,用x保存被删除的结点的值,应执行下列()命令。
A.x=top;
top=top->
next;
B.top=top->
x=top->
data;
C.x=top->
D.x=top->
9、经过下列栈的运算后,x的值是()。
InitStack(s)(初始化栈);
Push(s,a);
Push(s,b);
ReadTop(s);
Pop(s,x);
A.aB.bC.1D.0
10、一个栈的入栈次序ABCDE,则栈的不可能的输出序列是()。
A.EDCBAB.DECBA C.DCEAB D.ABCDE
11、设某棵二叉树中有2000个站点,则该二叉树的最小高度为()。
A、9B、10C、11D、12
12、若用一个大小为6的数组来实现循环队列,且当前front和rear的值分别为3和0,当从队列中删除一个元素,再加入两个元素后,front和rear的值分别为()。
A.5和1 B.4和2 C.2和4D.1和5
13、根据二叉树的定义,具有3个结点的二叉树有()种树型。
A.3 B.4 C.5 D.6
14、如右图所示的二叉树,后序遍历的序列是()
A
BA
D
E
C
F
G
H
I
A.A、B、C、D、E、F、G、H、I
B.A、B、D、H、I、E、C、F、G
C.H、D、I、B、E、A、F、C、G
D.H、I、D、E、B、F、G、C、A
15、下列陈述正确的是()。
A.二叉树是度为2的有序树 B.二叉树中结点只有一个孩子时无左右之分
C.二叉树中必有度为2的结点 D.二叉树中最多只有两棵子树,且有左右子树之分
16、在有n个叶子结点的哈夫曼树中,非叶子结点的总数是()。
A.n-1B.nC.2n-1D.2n
17、对于一个具有n个顶点的有向图的边数最多有()。
A.n B.n(n-1) C.n(n-1)/2 D.2n
18、对于一个具有n个顶点和e条边的无向图,采用邻接表表示,则表头向量大小为()。
A.n-1 B.n+1 C.n D.n+e
19、下面关于图的存储结构的叙述中正确的是()。
A.用邻接矩阵存储图,占用空间大小只与图中顶点数有关,而与边数无关
B.用邻接矩阵存储图,占用空间大小只与图中边数有关,而与顶点数无关
C.用邻接表存储图,占用空间大小只与图中顶点数有关,而与边数无关
D.用邻接表存储图,占用空间大小只与图中边数有关,而与顶点数无关
20、二叉树为二叉排序树的()条件是其任一结点的值均大于其左孩子的值,小于其右孩子的值。
A.充分不必要B.必要不充分C.充分必要D.既不充分也不必要
二、分析运算题(本题共6小题,每题5分,共30分)
1、如果输入序列为123,先进入栈结构后进入队列结构,试写出所有的出队列序列。
2、假设一棵二叉树的前序(先序)遍历序列为ABDECF和中序序列为DBEAFC,画出二叉树并写出后序遍历序列。
图1图2图3
3、用二叉树表示算术表达式如图1所示。
①按图画出对应的算术表达式②写出后序(后缀)表达式
4、请写出有向图2中顶点1-6的入度和出度。
5、给定一组项及其权值,假定项都存放于二叉树的树叶结点,则具有最小带权外部路径长度的树称为huffman(赫夫曼)树。
给定项及相应的权如下表:
画出相应的huffman树。
序号
1
2
3
4
5
6
7
8
9
项
A
B
C
D
E
F
G
H
I
权值
15
12
25
6、已经邻接矩阵如图3所示,判断该图是有向图还是无向图,用顶点1-6画出该图。
三、程序填空题(本题共5空,每空2分,共10分)
1、下面程序段的功能是在单链表中查找元素数据x,若找到,返回指向该结点的指针;
否则返回空指针,请在下划线处填上正确的内容。
//在单链表L中查找元素x
typedefstructLNode{
DataTypedata;
structLNode*next;
}LNode,*LinkList;
LinkListFind(LinkListL,DataTypex)
{
p=L->
//L为带头节点的单链表
while(
(1)){
if(p->
data==x)returnp;
//找到x
(2)
}
returnNULL;
//未找到
}
2、下面程序段的功能实现删除队列中的队头数据(若队列不空),并用x返回其值,要求在下划线处填上正确的语句。
typedefstructQNode{
structQNode*next;
}QNode,*QueuePtr;
typedefstructLQ{
QueuePtrfront;
QueuePtrrear;
}LinkQueue;
intDeQueue(LinkQueue&
Q,DataType&
x)
if((3))returnERROR;
p=Q.front->
x=p->
(4)
if(Q.rear==p)
(5)
free(p);
returnOK;
线订装
系专业级班级姓名学号
四、算法设计题(本题共2小题,共20分)
1、(10分)已知一个顺序表,每个元素都是整数,试设计用最少时间把所有值为负数的元素移动到全部正数值元素前面的算法。
typedefstruct{
int*elem;
intlength;
intlistSize;
}sqlist;
2、(10分)以二叉链表为存储结构,编写计算二叉树中叶子结点数目的递归函数。
typedefstructBiTNode
{intdata;
structBiTNode*lchild,*rchild;
}BiTNode,*BiTree;
数据结构与算法A卷答案
12-13学年第一学期
一、选择题:
1-5:
AABDC6-10:
DDDBC11-15:
CBCDD16-20:
ABCAB
二、分析运算题(本题共6小题,每题5分,共30分)
(1)如果输入序列为123
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 厦门 理工学院 12 级数 结构 期末试卷 答案