西北民族大学数计院数据结构C期末考试题.docx
《西北民族大学数计院数据结构C期末考试题.docx》由会员分享,可在线阅读,更多相关《西北民族大学数计院数据结构C期末考试题.docx(12页珍藏版)》请在冰豆网上搜索。
![西北民族大学数计院数据结构C期末考试题.docx](https://file1.bdocx.com/fileroot1/2023-2/21/ead9bda3-75e4-43b7-ac76-dc202aac964a/ead9bda3-75e4-43b7-ac76-dc202aac964a1.gif)
西北民族大学数计院数据结构C期末考试题
西北民族大学计算机科学与信息工程学院期末考试
数据结构试卷(C卷)
专业:
课程代码:
学号:
姓名:
总分
题号
一
二
三
四
五
核分人
题分
30
30
20
12
8
复查人
得分
得分
评卷人
一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其代码填入题干后的括号内。
每小题2分,共30分)
1.数据的基本单位是()。
A.数据结构B.数据元素
C.数据项D.文件
[能力层次:
记忆];[难易度:
A]
2.线性表若采用链式结构时,要求内存中可用存储单元的地址()。
A.必须是连续的B.部分地址必须是连续的
C.一定是不连续的D.连续不连续都可以
[能力层次:
记忆];[难易度:
B]
3.一个栈的入栈序列是a,b,c,d,e,则栈的不可能输出序列是()。
A.edcbaB.decba
C.dceabD.abcde
[能力层次:
简单运用];[难易度:
B]
4.判定一个栈ST(最多元素为m0)为空的条件是()。
A.ST->top!
=0B.ST->top==0
C.ST->top!
=m0D.ST->top==m0
[能力层次:
记忆];[难易度:
A]
5.在一个单链表中,若删除p所指结点的后续结点,则执行()。
A.p->next=p->next-next;
B.p=p->next;p->next=p->next->next;
C.p->next=p->next;
D.p=p->next->next
[能力层次:
记忆];[难易度:
B]
6.串是一种特殊的线性表,其特殊性体现在()。
A.可以顺序存储B.数据元素是一个字符
C.可以链接存储D.数据元素可以是多个字符
[能力层次:
记忆];[难易度:
B]
7.在稀疏矩阵的三元组表示法中,每个三元组表示()
A.矩阵中非零元素的值
B.矩阵中数据元素的行号和列号
C.矩阵中数据元素的行号、列号和值
D.矩阵中非零数据元素的行号、列号和值
[能力层次:
简单运用];[难易度:
B]
8.用五个权值{3,2,4,5,1}构造的哈夫曼树的带权路径长度是()。
A.32B.28C.34D.15
[能力层次:
简单运用];[难易度:
B]
9.广义表((a,b),c,d)的表尾是()。
A.aB.bC.(a,b)D.(c,d)
[能力层次:
记忆];[难易度:
B]
10.在线索化二叉树中,t所指结点没有左子树的充要条件是()。
A.t->left==NULLB.t->ltag==1
C.t->ltag==1且t->left==NULLD.以上都不对
[能力层次:
记忆];[难易度:
C]
11.具有64个结点的完全二叉树的深度为()
A.5B.6C.7D.8
[能力层次:
简单运用];[难易度:
C]
12.无向图顶点v的度是关联于该顶点()的数目。
A.顶点B.边C.序号D.下标
[能力层次:
记忆];[难易度:
C]
13.采用邻接表存储的图的宽度优先遍历算法类似于二叉树的()
A.先序遍历B.中序遍历
C.后序遍历D.按层遍历
[能力层次:
理解];[难易度:
C]
14.设哈希表长m=14,哈希函数H(key)=key%11。
表中已有4个结点:
addr(15)=4
addr(38)=5
addr(61)=6
addr(84)=7
其余地址为空
如用二次探测再散列处理冲突,关键字为49的结点的地址是()。
A.8B.3C.5D.9
[能力层次:
简单运用];[难易度:
C]
15.快速排序方法在()情况下最不利于发挥其长处。
A.待排序的数据量太大
B.要排序的数据中含有多个相同值
C.待排序的数据已基本有序
D.要排序的数据个数为奇数
[能力层次:
简单运用];[难易度:
C]
得分
评卷人
二、填空题(每空2分,共30分)
1.数据的存储结构形式包括:
___________、链式存储、索引存储和散列存储。
[能力层次:
理解];[难易度:
B]
2.在一个长度为n的单链表中,在结点*p后插入一个新结点的时间复杂度为___________。
[能力层次:
理解];[难易度:
C]
3.设n行n列的下三角矩阵A已压缩到一维数组S[1..n*(n+1)/2]中,若按行序为主存储序,则A[i][j]对应的S中的存储位置是____________。
[能力层次:
简单运用];[难易度:
C]
4.在栈中存取数据遵循的原则是____________。
[能力层次:
简单运用];[难易度:
C]
5.循环队列SQ队空的条件为______________。
[能力层次:
简单运用];[难易度:
C]
6.广义表LS=(a,(b),((c,d)))的表尾是__________。
[能力层次:
理解];[难易度:
C]
7.深度为k的完全二叉树至少有__________个结点,至多有__________个结点。
[能力层次:
记忆];[难易度:
B]
8.已知一个图的邻接矩阵表示,计算第i个结点的入度方法是()。
[能力层次:
理解];[难易度:
C]
9.已知一个有序表为{12,18,20,25,29,32,40,62,83,90,95,98}当二分查找值为29的元素时,需要_________次比较才能查找成功。
[能力层次:
简单运用];[难易度:
C]
10.在查找过程中有插入元素或删除元素操作的,称为_________查找。
[能力层次:
记忆];[难易度:
B]
11.对n个元素的序列进行冒泡排序,最少的比较次数是_________.
[能力层次:
理解];[难易度:
B]
12.由树转换为二叉树,其根结点无__________。
[能力层次:
理解];[难易度:
B]
13.从一棵二叉排序树中查找一个元素时,若元素的值小于根结点的值,则继续向_______查找。
[能力层次:
理解];[难易度:
B]
14.对于长度为n的线性表,若采用二分查找,则时间复杂度为_______。
[能力层次:
简单运用];[难易度:
C]
得分
评卷人
三、操作题(每小题5分,共20分)
1.已知一个二叉树的前序序列为:
abcdefghij,中序序列为:
cbedahgijf,
画出该二叉树,并且写出该二叉树的后序序列。
[能力层次:
综合运用];[难易度:
E]
2.给定结点的关键字序列为:
87,25,11,8,27,28,68,95,70,6,83,63,18,47,已知设散列函数为:
H(K)=K%13。
(1)试画出链地址法解决冲突时所构造的哈希表。
(2)求其平均查找长度。
[能力层次:
综合运用];[难易度:
D]
3.把下图(a)树转换成二叉树,把图(b)二叉树转换成森林
(a)(b)
[能力层次:
简单运用];[难易度:
C]
4.已知序列{17,18,60,40,7,32,73,65,85},请给出采用起泡排序法对该序列作升序排序时的每一趟的结果。
[能力层次:
简单运用];[难易度:
D]
得分
评卷人
四、算法阅读题(每小题6分,共12分)
1.对有序表R[0]至R[n-1]进行二分查找,成功时返回记录在表中的位置,失败时返回0.
[能力层次:
简单运用];[难易度:
D]
Structsqlist
{keytypekey;
};
intbinsrch(sqlistR[],keytypek)
//在表R中查找关键字k
{intlow,high,mid;
low=0;high=n-1;
while(______________)
{;
if(_______________)returnmid;
elseif(______________R[mid].key)
high=mid-1;
elselow=mid+1;
}
return;
}
2.下面为遍历中序线索二叉树(带头结点)的算法,在空白处填上合适的语句。
结点结构为:
ltag,rtag:
值为0表示为孩子,1表示为线索。
[能力层次:
简单运用];[难易度:
D]
voidinordertraverse_thr(bithrtreeT)
{bithrtree*p;
p=T->lc;
do
{while(p->lt==0)
____;
printf("%c",p->data);
while((____)&&(p->rc!
=T))
{p=p->rc;
printf("%c",p->data);
}
____;
}while(p!
=T);
}
得分
评卷人
五、算法设计题(共8分)
1.设单链表L(带头结点)是一个递减有序表(允许有相同的值),试写一算法将x插入其中后仍保持L的有序性。
[能力层次:
简单运用];[难易度:
D]
西北民族大学计算机科学与信息工程学院期末考试
数据结构试卷(C卷)
参考答案及评分标准
专业:
课程代码:
_____________
一、单项选择题(每小题2分,共30分)
1.B2.D3.C4.B5.A
6.B7.D8.B9.D10.B
11.C12.B13.D14.D15.C
二、填空题(每空2分,共30分)
1.顺序存储
2.O
(1)
3.i*(i-1)/2+j
4.先进后出(或后时先出)
5.SQ->rear=SQ->front
6.((b),((c,d)))
7.2k-12k-1
8.求矩阵第i列非0元素之和
9.4
10.动态
11.n-1
12.右子树
13.左子树
14.O(log2n)
三、操作题(每小题5分,共20分)
1.后序为:
cedbhjigfa
2.
(1)链地址法解决冲突时所构造的哈希表为:
(2)平均查找长度ASL=(1×10+2×3+3×1)/14=19/14
3.
(a)(b)
4.
初始:
17,18,60,40,7,32,73,65,85
第1趟:
17,18,40,7,32,60,65,73,85
第2趟:
17,18,7,32,40,60,65,73,85
第3趟:
17,7,18,32,40,60,65,73,85
第4趟:
7,17,18,32,40,60,65,73,85
第5趟:
7,17,18,32,40,60,65,73,85
四、算法阅读题(每题6分,共12分)
1.low<=high
R[mid]=key
k>;
2.p=p->lc
p->rt==1
p=p->rc
五、算法设计题(共8分)
1.参考答案
voidinsert(ListNode*L,DataTypex)
{
ListNode*p=L,*s;
s=(ListNode*)malloc(sizeof(ListNode));
s->data=x;
while(p->next!
=NULL&&p->next->datap=p->next;
s->next=p->next;
p->next=s;
}