西北民族大学数计院数据结构A期末考试题Word文档下载推荐.docx
- 文档编号:18941620
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:11
- 大小:101.09KB
西北民族大学数计院数据结构A期末考试题Word文档下载推荐.docx
《西北民族大学数计院数据结构A期末考试题Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《西北民族大学数计院数据结构A期末考试题Word文档下载推荐.docx(11页珍藏版)》请在冰豆网上搜索。
A]
2.线性表的链式存储结构与顺序存储结构相比优点是________。
A.所有的操作算法简单B.便于插入和删除
C.便于利用零散的存储器空间D.便于随机存取
理解];
C]
3.两个指针P和Q,分别指向单链表的两个元素,P所指元素是Q所指元素前驱的条件是________。
A.P->
next==Q->
nextB.P->
next==Q
C.Q->
next==PD.P==Q
4.在单链表中,若*p不是尾结点,在其后插入*s结点的操作是_______。
A.s->
next=p;
p->
next=s;
B.s->
next=p->
next;
C.s->
p=s;
D.p->
s->
next=p;
简单运用];
5.从一个栈顶指针为top的链栈中删除一个结点时,用x保存被删除的结点,应执行下列________命令。
A.x=top;
top=top->
B.top=top->
x=top->
data;
C.x=top->
D.x=top->
6.设已将元素a1,a2,a3依次入栈,元素a4正等待进栈。
那么下列4个序列中不可能出现的出栈序列是__________。
A.a3a1a4a2B.a3a2a4a1
C.a3a4a2a1D.a4a3a2a1
7.串是一种特殊的线性表,其特殊性体现在__________。
A.可以顺序存储B.数据元素是一个字符
C.可以链接存储D.数据元素可以是多个字符
B]
8.数组A[6,10]的每个元素占4个存储单元,若按行优先次序存进行存储,数组元素A[3,5]的存储地址为1000,则A[0,0]的存储地址是_______。
A.872B.860C.868D.864
D]
9..一棵二叉树如下图1所示,按中序遍历的序列为_______。
图1
A.abdgcefhB.dgbaechfC.gdbehfcaD.abcdefgh
10.判断线索二叉树中某结点*p有左孩子的条件是_______。
A.p->
lchild==nullB.p->
lchild==null
C.p->
ltag==0D.p->
ltag==1
11.A,B为一棵二叉树上的两个结点,在中序遍历时,A在B前的条件是______。
A.A在B的右方B.A是B的祖先
C.A在B左方D.A是B子孙
12.一个有n个顶点的无向图最多有_________条边。
A.nB.n(n-1)C.n(n-1)/2D.2n
13.任何一个无向连通图________最小生成树。
A.只有一棵B.有一棵或多棵
C.一定有多棵D.可能不存在
14.有一个长度为12的有序表,按二分查找法对该表进行查找,在表内各元素等概率情况下,查找成功所需的平均比较次数为________。
A.35/12B.37/12C.39/12D,43/12
15.下列排序方法中,时间复杂度不受数据初始状态影响,恒为O(n2)的是_______。
A.堆排序 B.冒泡排序 C.直接选择排序 D. 快速排序
二、填空题(每空2分,共30分)
1.数据有_________结构和___________结构两种结构。
2.在数据结构中,评价算法的两个重要指标是算法的时间复杂度和__________。
3.已知广义表A=((a,b),(c,d)),则tail(A)等于__________。
C]
4.栈是限定在___________进行插入和删除操作的线性表。
5.二分查找要求查找表中所有元素必须按关键字排列。
6.哈夫曼树是访问叶子结点的外部路径长度________的二叉树。
7.n个顶点的连通图的生成树具有条边。
8.对于一棵具有n个结点的树,该树中所有结点的度之和为。
9.在哈希函数H(key)=keymodp中,p最好取_______。
10.若要对某二叉排序树进行遍历,保证所有结点序列按键值递增有序排列,应对该二叉树采用________遍历法。
11.在一个长度为n的顺序表中向第i个元素(0<
i<
=n+1)之前插入一个新元素时,需要向后移动_______个元素。
12.有如下图2,其深度优先遍历序列是_________,广度优先遍历序列是_______。
图2
13.对n(n>
0)个记录进行冒泡排序,最少要交换_______记录。
三、应用题(每题4分,共20分)
1.双向链表的类型为:
typedefstructnode{
datatypeelement;
structnode*prior,*next;
}Dlistnode;
Dlistnode*p,*s;
在双向链表L中,p指向L链表中某一结点(非头结点),写出在p结点之后插入s所指结点的语句。
综合运用];
2.已知一棵二叉树的前序序列和中序序列分别为ABDGHCEFI和GDHBAECIF请画出此二叉树并写出后序遍历序列。
3.有字符a,b,c,d,e,f,其权值分别为5,18,12,2,8,30,试构造Huffman树;
并求出每个字符的哈夫曼编码。
[能力层次:
4.分别采用Prim算法(以顶点1为结点)和Kruskal算法给出下图3的最小生成树。
图3
5.给定结点的关键字序列为:
19,14,23,1,68,20,84,27,55,11,10,79.设该散列表的长度为13,散列函数为:
H(K)=K%13。
画出线性探测再散列解决冲突时所构造的散列表,并求出其平均查找长度。
四、算法填空(每题5分,共10分)。
1.将两个有序的顺序表合并成一个有序表
voidmerge(intR[],intA[],ints1,intm,ints2)
//对两个升序顺序表R[s1]~R[n]和R[n+1]~R[s2]合并,结果存入升序顺序表A中
{inti,j,k;
i=s1;
j=m+1;
k=s1;
while((i<
=n)&
&
(j<
=________))
if(R[i]<
=R[j])
{A[k]=R[i];
i++;
______;
}
else
{A[k]=R[j];
______;
k++;
while(i<
=)//复制第一个区间中剩下元素
while(j<
=s2)//复制第二个区间中剩下元素
{;
j++;
}
}
2.下面是实现线索二叉树的遍历算法
//--------二叉树的二叉线索存储表示---------
TypedefenumPointerTag{Link,Thread};
//Link=0;
指针,Thread==1:
线索
TypedefstructBithrNode{
TElemTypedata;
StructBithrNode*lchild,*rchild;
//左右孩子指针
PointerTagLTag,_________;
//左右标志
}BiThrTree;
算法为:
StatusInOrderTraverse_Thr(BiThrTreeT,Status(*Visit(TElemTypee)){
//本线索二叉树带有头结点T,T指向头结点,头结点的左链lchild指向根结点,中
//序遍历二叉线索树T的非递归算法,对每个数据元素调用函数Visit.
p=T->
lchild;
//p指向根结点
while(__________){//空树或遍历结束时,p==T
while(p->
LTag==Link)____________;
if(!
Visit(p->
data))returnERROR;
//访问其左子树为空的结点
while(_____________&
p->
rchild!
=T){
p=p->
rchild;
Visit(p->
data);
//访问后继结点
_______________;
ReturnOK;
五、算法设计(10分)
设顺序表L是一个递增有序表(不允许有相同的值),试写一算法将x插入L中,并使L仍是一个有序表。
综合运用];
D]
顺序表的存储结构如下:
Typedefstruct{
Elemtype*data;
//存储空间基址
IntLength;
//当前长度
}SqList;
算法名定义为:
voidInsert(SqList&
L,DataTypex)
{
数据结构试卷(A卷)
参考答案及评分标准
____________
一、单项选择题(每小题2分,共30分)
1.C2.B3.B4.B5.D
6.A7.B8.B9.B10.C
11.C12.C13.B14.B15.C
1.逻辑存储
2.空间复杂度
3.(c,d)
4.表尾(或一端)
5.有序
6.最短
7.n-1
8.n+1
9.小于表长的素数
10.中序
11.n-i+1
12.abdgcehfabcdgefh
13.0
三、应用题(每小题4分,共20分)
1.s->
p->
next->
prior=s;
s->
prior=p;
(有次序)
2.
后序序列:
DECBHGFA
3
a:
11110b:
10c:
110d:
11111e:
1110f:
4.
Prim生成树Kruskal生成树
5.线性探测再散列解决冲突时所构造的散列表为:
1
2
4
5
6
7
8
9
11
12
14
68
27
55
19
84
79
23
①
②
④
③
⑨
查找成功时的平均查找长度ASL=(1×
6+2×
1+3×
3+4×
1+9×
1)/12=30/3=3
1.S2k++i++nA[k]=R[j]
2.RTag;
p!
=Tp=p->
RTag==Threadp=p->
inti=0,j;
while(i<
L.length&
L.data[i]<
=x)i++;
if(L.data[i]!
=x){
for(j=L.length;
j>
=I;
i--)
L.data[j+1]=L.data[j];
L.data[i]=x;
L.length++;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西北 民族大学 数计院 数据结构 期末 考试题