自考数据结构试题真题文档格式.docx
- 文档编号:16933750
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:8
- 大小:68.49KB
自考数据结构试题真题文档格式.docx
《自考数据结构试题真题文档格式.docx》由会员分享,可在线阅读,更多相关《自考数据结构试题真题文档格式.docx(8页珍藏版)》请在冰豆网上搜索。
4.设数组A[m]为循环队列Q的存储空间,front为队头指针,rear为队尾指针,则判定Q为空队列的条件是(>
p1EanqFDPw
A.(rear-front>
%m==1B.front==rear
C.(rear-front>
%m==m-1D.front==(rear+1>
%m
5.假设S=″IAMASTUDENT″,则运算substr(S,4,8>
的结果为(>
A.″MAS″B.″MASTUD″
C.″ASTUDEN″D.″STUD″
6.在执行简单的串匹配算法时,最坏的情况为每次匹配比较不等的字符出现的位置均为(>
A.模式串的最末字符B.主串的第一个字符
C.模式串的第一个字符D.主串的最末字符
7.从广义表L=(((d>
c,d>
>
中分解得到(d>
的操作为(>
A.head(head(head(L>
B.head(tail(head(L>
C.tail(head(head(L>
D.tail(tail(head(L>
8.假设一棵完全二叉树按层次遍历的顺序依次存放在数组BT[m]中,其中根结点存放在BT[0],若BT[i]中的结点有左孩子,则左孩子存放在(>
DXDiTa9E3d
A.BT[i/2]B.BT[2*i-1]
C.BT[2*i]D.BT[2*i+1]
9.右图所示二叉树的中序序列是(>
A.DHEBAFIJCG
B.DHEBAFJICG
C.DBHEAFCJIG
D.DBHEAFJICG
10.连通图是指图中任意两个顶点之间(>
A.都连通的无向图B.都不连通的无向图
C.都连通的有向图D.都不连通的有向图
11.下图所示带权无向图的最小生成树的权为(>
A.14
B.15
C.17
D.18
12.对记录序列(314,298,508,123,486,145>
依次按个位和十位进行两趟基数排序之后所得结果为(>
RTCrpUDGiT
A.123,145,298,314,486,508B.508,314,123,145,486,2985PCzVD7HxA
C.486,314,123,145,508,298D.298,123,508,486,145,314jLBHrnAILg
13.在待排关键字序列基本有序的前提下,效率最高的排序方法是(>
A.直接插入排序B.快速排序
C.直接选择排序D.归并排序
14.在下列各棵二叉树中,二叉排序树是(>
15.采用ISAM或VSAM组织的文件是(>
A.索引非顺序文件B.顺序文件
C.索引顺序文件D.散列文件
第二部分非选择题(共70分>
二、填空题(本大题共10小题,每小题2分,共20分>
请在每小题的空格中填上正确答案。
错填、不填均无分。
16.在一个长度为n的循环链表中,删除其元素值为x的结点的时间复杂度为______。
xHAQX74J0X
17.已知指针p指向某单链表中的一个结点,则判别该结点有且仅有一个后继结点的条件是______。
18.如果入栈序列是1,3,5,…,97,99,且出栈序列的第一个元素为99,则出栈序列中第30个元素为______。
LDAYtRyKfE
19.已知广义表LS为空表,则其深度为______。
20.假设以行优先顺序存储三维数组A[5][6][7],其中元素A[0][0][0]的地址为1100,且每个元素占2个存储单元,则A[4][3][2]的地址是______。
Zzz6ZB2Ltk
21.已知一棵二叉树的先序序列为ABCD,中序序列为BCAD,则它的后序序列为______。
22.在含n个顶点的连通图中,任意两个不同顶点之间的一条简单路径最多包含______条边。
23.对关键字序列(50,34,92,19,11,68,56,41,79>
进行直接插入排序,当将第7个关键字56插入到当前的有序子表中时,为寻找插入位置需进行______次关键字之间的比较。
dvzfvkwMI1
24.对有序表进行二分查找的过程可用判定树来描述,其判定树的形态只取决于______。
25.将有序表中n个元素依次插入到一棵空的二叉排序树中,则在等概率查找的情况下,该二叉排序树在查找成功时的平均查找长度是______。
rqyn14ZNXI
三、解答题(本大题共4小题,每小题5分,共20分>
26.(1>
写出右侧图形表示的广义表L。
(2>
画出其表头与表尾均为(a,(b,c>
的广义表L1的图形表。
(1>
27.试推导一棵满k叉树上的叶子结点数a与非叶子结点数b之间满足以下关系:
a=(k-1>
b+1
28.假设用迪杰斯特拉(Dijkstra>
算法求下列图中从顶点a到其余各顶点的最短路径,按求解过程依次写出各条最短路径及其长度。
EmxvxOtOco
29.已知关键字序列在R[1..8]中的初始状态为
R
48
70
33
65
24
56
12
92
1
2
3
4
5
6
7
8
写出在将它调整为大根堆的过程中每一次筛选后R的状态。
四、算法阅读题(本大题共4小题,每小题5分,共20分>
30.如果希望循环队列中的向量单元都能得到利用,则可设置一个标志域tag,每当尾指针和头指针值相同时,以tag的值为0或1来区分队列状态是“空”还是“满”。
请对下列函数填空,使其分别实现与此结构相应的入队列和出队列的算法。
SixE2yXPq5
intEnQueue(CirQueue*Q,DataTypex>
{
if((1>
>
return0。
Q->
data[Q->
rear]=x。
rear=(Q->
rear+1>
%MAXQSIZE
(2>
return1。
}
intDeQueue(CirQueue*Q,DataType*x>
if((3>
*x=Q->
front]。
front=(4>
。
(5>
(3>
(4>
(5>
31.已知具有n个结点的完全二叉树采用顺序存储结构存储在向量BT[1..n]中,结点的数据元素为字符类型,请阅读下列算法,并回答问题:
6ewMyirQFL
假设向量BT中的内容为:
BT
A
B
C
D
E
F
写出执行f31(BT,6>
后的输出结果;
说明该算法的功能。
voidf31(charBT[],intn>
{inti=1。
while(i>
0>
if(i<
=n>
{
printf(″%c″,BT[i]>
。
i=i*2。
}else{
do{i=i/2。
}while(i%2>
if(i>
i++。
}
32.设数组f的初始元素序列为:
f[1..9]=(1,3,2,3,3,2,1,2,1>
阅读下列算法,并回答问题。
其中算法f32中调用的函数swap(a,b>
用以完成交换a和b的值。
写出执行f32(f,9,3,1>
之后f[1..9]中的元素序列,并写出在执行过程中调用swap函数的次数。
kavU42VRUs
简述算法f32的功能。
voidf32(intf[],intn,intx,inty>
inti=1,j=1,k=n。
while(j<
=k>
if(f[j]==y>
j++。
elseif(f[j]==x>
{swap(f[i],f[j]>
i++。
else{swap(f[k],f[j]。
k--。
33.下列算法利用二分查找方法在有序表r中插入元素x,并保持表r的有序性,其中参数*n为表r的长度。
请在空缺处填入合适的内容,使其成为一个完整的算法。
y6v3ALoS89
voidBinInsert(SeqListr,int*n,DataTypex>
{intlow=1,high=*n,mid,i。
while(low<
=high>
{mid=(1>
if(x.key<
r[mid].key>
high=mid-1。
else(2>
for(i=*n。
(3>
i-->
r[i+1]=r[i]。
(4>
*n++。
五、算法设计题(本题共10分>
34.假设一元多项式以循环链表表示,链表的结点结构为:
typedefstructPNode{
floatcoef。
//系数
intexp。
//指数
structPNode*next。
}*LinkList。
现需要将一个用循环链表h表示的代数多项式拆分成两个多项式循环链表h1和h2,其中h1仅含多项式的奇次项,h2仅含多项式的偶次项。
要求利用原链表中的结点构成链表h1和h2。
例如多项式7x8+5x3-4x的循环链表为M2ub6vSTnP
经拆分之后的情况应是:
请编写完成上述拆分的算法,并进行算法分析。
申明:
所有资料为本人收集整理,仅限个人学习使用,勿做商业用途。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自考 数据结构 试题