西北民族大学数计院数据结构A期末考试题.docx
- 文档编号:5950150
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:11
- 大小:101.09KB
西北民族大学数计院数据结构A期末考试题.docx
《西北民族大学数计院数据结构A期末考试题.docx》由会员分享,可在线阅读,更多相关《西北民族大学数计院数据结构A期末考试题.docx(11页珍藏版)》请在冰豆网上搜索。
西北民族大学数计院数据结构A期末考试题
西北民族大学计算机科学与信息工程学院期末考试
数据结构试卷(A卷)
专业:
课程代码:
学号:
姓名:
总分
题号
一
二
三
四
五
核分人
题分
30
30
20
10
10
复查人
得分
得分
评卷人
一、单选题(每小题2分,共30分)
1.数据在计算机存储器内表示时,物理地址和逻辑地址相同并且是连续的,称之为________。
A.存储结构B.逻辑结构
C.顺序存储结构D.链式存储结构
[能力层次:
记忆];[难易度:
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
[能力层次:
理解];[难易度:
C]
4.在单链表中,若*p不是尾结点,在其后插入*s结点的操作是_______。
A.s->next=p;p->next=s;B.s->next=p->next;p->next=s;
C.s->next=p->next;p=s;D.p->next=s;s->next=p;
[能力层次:
简单运用];[难易度:
C]
5.从一个栈顶指针为top的链栈中删除一个结点时,用x保存被删除的结点,应执行下列________命令。
A.x=top;top=top->next;B.top=top->next;x=top->data;
C.x=top->data;D.x=top->data;top=top->next;
[能力层次:
理解];[难易度:
C]
6.设已将元素a1,a2,a3依次入栈,元素a4正等待进栈。
那么下列4个序列中不可能出现的出栈序列是__________。
A.a3a1a4a2B.a3a2a4a1
C.a3a4a2a1D.a4a3a2a1
[能力层次:
理解];[难易度:
C]
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
[能力层次:
简单运用];[难易度:
D]
10.判断线索二叉树中某结点*p有左孩子的条件是_______。
A.p->lchild==nullB.p->lchild==null
C.p->ltag==0D.p->ltag==1
[能力层次:
简单运用];[难易度:
C]
11.A,B为一棵二叉树上的两个结点,在中序遍历时,A在B前的条件是______。
A.A在B的右方B.A是B的祖先
C.A在B左方D.A是B子孙
[能力层次:
简单运用];[难易度:
B]
12.一个有n个顶点的无向图最多有_________条边。
A.nB.n(n-1)C.n(n-1)/2D.2n
[能力层次:
理解];[难易度:
B]
13.任何一个无向连通图________最小生成树。
A.只有一棵B.有一棵或多棵
C.一定有多棵D.可能不存在
[能力层次:
简单运用];[难易度:
D]
14.有一个长度为12的有序表,按二分查找法对该表进行查找,在表内各元素等概率情况下,查找成功所需的平均比较次数为________。
A.35/12B.37/12C.39/12D,43/12
[能力层次:
简单运用];[难易度:
D]
15.下列排序方法中,时间复杂度不受数据初始状态影响,恒为O(n2)的是_______。
A.堆排序 B.冒泡排序 C.直接选择排序 D. 快速排序
[能力层次:
理解];[难易度:
C]
得分
评卷人
二、填空题(每空2分,共30分)
1.数据有_________结构和___________结构两种结构。
[能力层次:
记忆];[难易度:
B]
2.在数据结构中,评价算法的两个重要指标是算法的时间复杂度和__________。
[能力层次:
记忆];[难易度:
B]
3.已知广义表A=((a,b),(c,d)),则tail(A)等于__________。
[能力层次:
记忆];[难易度:
C]
4.栈是限定在___________进行插入和删除操作的线性表。
[能力层次:
记忆];[难易度:
C]
5.二分查找要求查找表中所有元素必须按关键字排列。
[能力层次:
记忆];[难易度:
B]
6.哈夫曼树是访问叶子结点的外部路径长度________的二叉树。
[能力层次:
记忆];[难易度:
C]
7.n个顶点的连通图的生成树具有条边。
[能力层次:
记忆];[难易度:
C]
8.对于一棵具有n个结点的树,该树中所有结点的度之和为。
[能力层次:
记忆];[难易度:
B]
9.在哈希函数H(key)=keymodp中,p最好取_______。
[能力层次:
记忆];[难易度:
B]
10.若要对某二叉排序树进行遍历,保证所有结点序列按键值递增有序排列,应对该二叉树采用________遍历法。
[能力层次:
记忆];[难易度:
C]
11.在一个长度为n的顺序表中向第i个元素(0
[能力层次:
记忆];[难易度:
C]
12.有如下图2,其深度优先遍历序列是_________,广度优先遍历序列是_______。
图2
[能力层次:
记忆];[难易度:
B]
13.对n(n>0)个记录进行冒泡排序,最少要交换_______记录。
[能力层次:
记忆];[难易度:
C]
得分
评卷人
三、应用题(每题4分,共20分)
1.双向链表的类型为:
typedefstructnode{
datatypeelement;
structnode*prior,*next;
}Dlistnode;
Dlistnode*p,*s;
在双向链表L中,p指向L链表中某一结点(非头结点),写出在p结点之后插入s所指结点的语句。
[能力层次:
综合运用];[难易度:
C]
2.已知一棵二叉树的前序序列和中序序列分别为ABDGHCEFI和GDHBAECIF请画出此二叉树并写出后序遍历序列。
[能力层次:
综合运用];[难易度:
D]
3.有字符a,b,c,d,e,f,其权值分别为5,18,12,2,8,30,试构造Huffman树;并求出每个字符的哈夫曼编码。
[能力层次:
综合运用];[难易度:
C]
4.分别采用Prim算法(以顶点1为结点)和Kruskal算法给出下图3的最小生成树。
图3
[能力层次:
综合运用];[难易度:
D]
5.给定结点的关键字序列为:
19,14,23,1,68,20,84,27,55,11,10,79.设该散列表的长度为13,散列函数为:
H(K)=K%13。
画出线性探测再散列解决冲突时所构造的散列表,并求出其平均查找长度。
[能力层次:
综合运用];[难易度:
D]
得分
评卷人
四、算法填空(每题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<=)//复制第一个区间中剩下元素
{A[k]=R[i];i++;k++;}
while(j<=s2)//复制第二个区间中剩下元素
{;j++;k++;}
}
[能力层次:
综合运用];[难易度:
C]
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;
}
[能力层次:
综合运用];[难易度:
D]
得分
评卷人
五、算法设计(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
二、填空题(每空2分,共30分)
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->next=p->next;
p->next->prior=s;
p->next=s;
s->prior=p;
(有次序)
2.
后序序列:
DECBHGFA
3
a:
11110b:
10c:
110d:
11111e:
1110f:
0
4.
Prim生成树Kruskal生成树
5.线性探测再散列解决冲突时所构造的散列表为:
0
1
2
3
4
5
6
7
8
9
10
11
12
14
1
68
27
55
19
20
84
79
23
11
10
①
②
①
④
③
①
①
③
⑨
①
①
③
查找成功时的平均查找长度ASL=(1×6+2×1+3×3+4×1+9×1)/12=30/3=3
四、算法填空(每题5分,共10分)。
1.S2k++i++nA[k]=R[j]
2.RTag;p!
=Tp=p->lchild;p->RTag==Threadp=p->rchild;
五、算法设计(10分)
voidInsert(SqList&L,DataTypex)
{
inti=0,j;
while(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文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西北 民族大学 数计院 数据结构 期末 考试题
![提示](https://static.bdocx.com/images/bang_tan.gif)