自考数据结构历年考题综合答案Word文档下载推荐.docx
- 文档编号:19452340
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:81
- 大小:359.48KB
自考数据结构历年考题综合答案Word文档下载推荐.docx
《自考数据结构历年考题综合答案Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《自考数据结构历年考题综合答案Word文档下载推荐.docx(81页珍藏版)》请在冰豆网上搜索。
A.只包含空格符的串B.长度为0的串
C.只包含一个空格符的串D.不含字母的串
13.采用三元组表存储稀疏矩阵,是为了()。
A.节省存取时间B.节省存储空间
C.提高对矩阵元素的访问速度D.提高对矩阵运算的可靠性
14.高度为h的二叉树最多有()个节点。
A.2h-1B.2hC.2h-1D.2h-1+1
15.N个顶点,e条边的无权有向图的邻接矩阵中非零元素有()个。
A.nB.n-eC.eD.e+n
16.直接选择排序在最好情况下的时间复杂度是()。
A.O(n)B.O(nlog2n)C.O
(1)D.O(n2)
17.N个结点的m阶B树至少包含()个关键字。
A.(m-1)*nB.nC.(「m/2」-1)*(n-1)+1D.n*「m/2」-1)
18.在散列文件中,同一个桶内的所有记录应当具有()。
A.相同的关键字B.相同的散列值
C.相同的某个属性值D.相同的存取频率
19.在最坏的情况下,查找成功时二叉排序树的平均查找长度( )
A.小于顺序表的平均查找长度B.大于顺序表的平均查找长度
C.与顺序表的平均查找长度相同D.无法与顺序表的平均查找长度比较
20.散列表中由于散列到同一个地址而引起的“堆积”现象,是由( )
A.同义词之间发生冲突引起的
B.非同义词之间发生冲突引起的
C.同义词之间或非同义词之间发生冲突引起的
D.散列表“溢出”引起的
二、填空题(每空1.5分,计15分)
21.ALV树是一种平衡的二叉排序树,树中任一结点的()
22.在VSAM文件的控制区间中,记录的存储方式为()
23.单链表的存储密度()顺序表的存储密度。
24.设SQ是循环队列,存储在数组D[M]中,则SQ入队操作对其队尾指针rear的修改是()。
25.长度为n的串s1与长度为2n的串s2的比较运算的时间复杂度是()。
26.广义表(((a,b,c),d,e,f))的长度是()。
27.N(n>
0)个节点的哈夫曼树恰含()个度为1的节点。
28.深度为n的二叉树最少有()个结点。
29.N(n>
0)个顶点的连通有向图至少有()条边。
30.对N(n>
0)个记录进行冒泡排序,最少要交换()记录。
三、简答题(每小题5分,计30分)
31.给出下面森林对应的二叉树及二叉树的后续序列。
(图1)
32.一棵树有3度节点100个,2度节点200个,该树有叶子节点多少个,该树可以有多少个度为1的节点?
33.设有广义表A,A=(((a,b),x),((a),(b)),(c,(d,(y)))),写出由A得到y的对广义表A的操作序列。
34.画出用普里姆算法构造下面所示带权无向图的最小生成树的示意图。
35.写出下列用快排序对下列序列进行两次划分的过程及结果。
3726514877698221171321395518
36.画出对下面的5阶B树插入关键字37后的结果。
四、理解设计题(每小题5分,计15分)
37.设某带头结头的单链表的结点结构说明如下:
typedefstructnodel{intdata;
structnodel*next;
}node;
试设计一个算法:
voidcopy(node*headl, node*head2),将以head1为头指针的单链表复制到一个不带有头结点且以head2为头指针的单链表中。
(5分)
38.阅读下列算法,并回答下列问题:
(1)该算法采用何种策略进行排序?
(2)算法中R[n+1]的作用是什么?
typedefstruct{KeyTypekey;
infoTypeotherinfo;
}nodeType;
typedefnodeTypeSqList[MAXLEN];
voidsort(SqListR,intn){//n小于MAXLEN-1
intk;
i;
for(k=n-1;
k>
=1;
k--)
if(R[k].key>
R[k+1].key){
R[n+1]=R[k];
for(i=k+1;
R[i].key<
R[n+1].key;
i++)R[i-1]=R[i];
R[i-1]=R[n+1];
}}
39.下面函数BinInsert的功能是对线性表R的前n个元素实现二分法插入排序。
请在空缺处填入适当的语句,使其能够正确工作。
typedefstructnode{intkey;
/*otherInfo*/}Node;
typedefNodeSeqlist[100];
voidBinInsert(SeqlistR,intn)
{intlow,up,mid,i,j;
Nodet;
for(i=0;
i<
n;
i++)
{_____
(1)________________;
low=0;
__________
(2)_____________;
while(low<
up)
{mid=(low+up)/2;
if(R[mid].key==t.key){_________(3)__________;
break;
}
if(t.key<
R[mid].key)________(4)________;
else_______(5)_____;
}
for(j=i;
j>
low;
j--)R[j]=R[j-1];
_________(6)_____________;
五、算法实现题(共10分)
40.假设二叉树T采用如下定义的存储结构:
typedefstructnode{DataTypedata;
structnode*lchild,*rchild,*parent;
}PBinTree;
其中,结点的lchild域和rchild域已分别填有指向其左、右孩子结点的指针,而parent域中的值为空指针(拟作为指向双亲结点的指针域)。
请编写一个递归算法,将该存储结构中各结点的parent域的值修改成指向其双亲结点的指针。
_
2006
一.单项选择题
1.D2.B3.C4.B5.D6.C7.B8.D9.D10.D
11.A12.B13.B14.A15.C16.A17.C18.B19.C20.B
二.填空题
21.左右子树树高之差的绝对值不大于123.小于24.sq->
rear=(sq->
rear+1)%m25.O(n)26.127.0
28.n29.n30.0
三.简答题
31.
GFEDCBJIKHA
32、n0=n2+2n3+1
=200+2*100+1
=401
33、Tail(Head(Tail(Head(Tail(Tail(A)))))=(y)
34、
35、182621131721【37】82697748395551
36、
四.阅读理解题
37、一边遍历,一边申请新结点,链接到head2序列中。
38、直接插入排序。
哨兵。
避免边界检测,提高程序运行效率。
39、t=R[i];
up=i-1;
low=mid+1;
up=mid-1;
R[low]=t;
2002
1.某算法的空间花费s(n)=2n+n100+nlog2n+n101,则其空间复杂度为()。
A.O(nlog2n)B.O(n100)C.O(n101)D.O(2n)
2.单链表中的存储密度一定()。
3.在顺序栈中删除一个元素,至少要移动()元素。
4.空串是()。
5.采用三元组表存储稀疏矩阵,是为了()。
6.高度为h的二叉树最多有()个节点。
7.N个顶点,e条边的无权有向图的邻接矩阵中非零元素有()个。
8.直接选择排序在最好情况下的时间复杂度是()。
9.N个结点的m阶B树至少包含()个关键字。
10.在散列文件中,同一个桶内的所有记录应当具有()。
11.某算法的时间花费T(n)=0.05n2+100n+10,则该算法的时间复杂度为()。
12.单链表的存储密度()顺序表的存储密度。
13.设SQ是循环队列,存储在数组D[M]中,则SQ入队操作对其队尾指针rear的修改是()。
14.长度为n的串s1与长度为2n的串s2的比较运算的时间复杂度是()。
15.广义表(((a,b,c),d,e,f))的长度是()。
16.N(n>
17.深度为n的二叉树最少有()个结点。
18.N(n>
19.对N(n>
20.倒排文件的每个倒排表项包含()和记录地址。
21.给出下面森林对应的二叉树及二叉树的后续序列。
22.一棵树有3度节点100个,2度节点200个,该树有叶子节点多少个,该树可以有多少个度为1的节点?
23.设有广义表A,A=(((a,b),x),((a),(b)),(c,(d,(y)))),写出由A得到y的对广义表A的操作序列。
24.设有程序:
intf(inta[],intn,intkey)
{inti;
for(i=0;
if(a[i]==key)returni;
return-1;
若key在a[j](j=0,1,2,…n-1)中的概率为2-(j+1),key不在a中的概率为2-n,那么查找Key时平均比较Key的次数是多少,该算法的时间复杂度是多少?
25.画出用普里姆算法构造下面所示带权无向图的最小生成树的示意图。
四、理解题(每题6分,计12分)
26.指出下面函数GV的功能及其返回值的含义。
其中,Tab是存储稀疏矩阵A的非零元素的长度为len的三元组表。
#include<
stdio.h>
typedefstruct{introw,col,val;
}TriTupleNode;
intGV(inti,intj,intlen,TriTupleNodeTab[])
{intk;
for(k=0;
k<
len;
k++)
if(tab[k].row==i&
&
tab[k].col==j)returnTab[k].val;
return0;
27.设P1和P2是两个单链表,他们的元素都递增有序,指出下面函数f的功能。
typedefintDataType;
typedefstructnode{DataTypedata;
structnode*next;
}ListNode;
typedefListNode*LinkList;
LinkListf(LinkListp1,LinkListp2)
{LinkListh=NULL,p;
while(p1&
p2)
{if(p1->
data<
p2->
data){p=p1;
p1=p1->
next;
}
else{p=p2;
p2=p2->
p->
next=h;
h=p;
while(p1){p=p1;
while(p2){p=p2;
returnh;
五、填充题(每题18分)
28.下面函数BinInsert的功能是对线性表R的前n个元素实现二分法插入排序。
2002D
一、单项选择题
1.D2.D3.A4.B5.B6.A7.C8.D9.C10.B
二、填空题(每小题2分,共30分)
11.O(n2)12.小于13.rear=(rear+1)%m14.O(n)15.116.017.n18.n19.020.次关键字
三、简答题
21、(见下图)后序序列GFEDCBJIKHA
22、叶结点有401个,度为1的结点可以有任意多个。
24、平均比较次数=1*2-(0+1)+2*2-(1+1)+……+n*2-((n-1)+1)+n*2-n
=2-2-(n-1)-n*2-n
时间复杂度为:
O
(1)
25、见图。
四、理解题
26、在三元组表Tab中,查找稀疏矩阵中元素A[I,J]的值,并把此值作为函数的返回值。
27、把两个递增有序的单链表合并为一个递减有序的单链表。
五、填充题
t=R[i];
up=i-1low=mid+1
up=mid-1low=mid+1R[low]=t
2002-10
一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。
5.为查找某一特定单词在文本中出现的位置,可应用的串运算是()
A.插入B.删除C.串联接D.子串定位
6.已知函数Sub(s,i,j)的功能是返回串s中从第i个字符起长度为j的子串,函数Scopy(s,t)的功能为复制串t到s。
若字符串S=″SCIENCESTUDY″,则调用函数Scopy(P,Sub(S,1,7))后得到()
A.P=″SCIENCE″B.P=″STUDY″
C.S=″SCIENCE″D.S=″STUDY″
7.三维数组A[4][5][6]按行优先存储方法存储在内存中,若每个元素占2个存储单元,且数组中第一个元素的存储地址为120,则元素A[3][4][5]的存储地址为()
A.356B.358C.360D.362
8.如右图所示广义表是一种()
A.线性表
B.纯表
C.结点共享表
D.递归表
9.下列陈述中正确的是()
A.二叉树是度为2的有序树
B.二叉树中结点只有一个孩子时无左右之分
C.二叉树中必有度为2的结点
D.二叉树中最多只有两棵子树,并且有左右之分
10.n个顶点的有向完全图中含有向边的数目最多为()
A.n-1B.nC.n(n-1)/2D.n(n-1)
11.已知一个有向图如右所示,则从顶点a出发进行深度优先偏历,不可能得到的DFS序列为()
A.adbefcB.adcefbC.adcbfe
D.adefcb
12.在最好和最坏情况下的时间复杂度均为O(nlogn)且稳定的排序方法是()
A.快速排序B.堆排序C.归并排序D.基数排序
13.不可能生成右图所示二叉排序树的关键字序列是()
A.45312
B.42531
C.45213
D.42315
14.ALV树是一种平衡的二叉排序树,树中任一结点的()
A.左、右子树的高度均相同B.左、右子树高度差的绝对值不超过1
C.左子树的高度均大于右子树的高度D.左子树的高度均小于右子树的高度
15.在VSAM文件的控制区间中,记录的存储方式为()
A.无序顺序B.有序顺序
C.无序链接D.有序链接
二、填空题(本大题共10小题,每小题2分,若有两个空格,每个空格1分,共20分)
16.若一个算法中的语句频度之和为T(n)=3720n+4nlogn,则算法的时间复杂度为________。
17.在如图所示的链表中,若在指针p所指的结点之后插入数据域值相继为a和b的两个结点,则可用下列两个语句实现该操作,它们依次是________和________。
18.假设以S和X分别表示进栈和退栈操作,则对输入序列a,b,c,d,e进行一系列栈操作SSXSXSSXXX之后,得到的输出序列为________。
19.串S=″Iamaworker″的长度是________。
20.假设一个10阶的下三角矩阵A按列优顺序压缩存储在一维数组C中,则C数组的大小应为________。
21.在n个结点的线索二叉链表中,有________个线索指针。
22.若采用邻接矩阵结构存储具有n个顶点的图,则对该图进行广度优先遍历的算法时间复杂度为________。
23.对关键字序列(52,80,63,44,48,91)进行一趟快速排序之后得到的结果为________。
24.由10000个结点构成的二叉排序树,在等概率查找的假设下,查找成功时的平均查找长度的最大值可能达到________。
25.若要找出所有工资低于1500元,职称是副教授,及所有工资低于2000元,职称是教授的记录,则查询条件是________。
三、解答题(本大题共4小题,每小题5分,共20分)
26.已知一个6行5列的稀疏矩阵中非零元的值分别为:
-90,41,-76,28,-54,65和-8,它们在矩阵中的列号依次为:
1,4,5,1,2,4和5。
当以带行表的三元组表作存储结构时,其行表RowTab中的值依次为0,0,2,2,3和5。
请写出该稀疏矩阵(注:
矩阵元素的行列下标均从1开始)。
27.已知树T的先序遍历序列为ABCDEFGHIJKL,后序遍历序列为CBEFDJIKLHGA。
请画出树T。
28.对关键字序列(72,87,61,23,94,16,05,58)进行堆排序,使之按关键字递减次序排列。
请写出排序过程中得到的初始堆和前三趟的序列状态。
初始堆:
________第1趟:
________
第2趟:
________第3趟:
29.在关键字序列(07,12,15,18,27,32,41,92)中用二分查找法查找和给定值92相等的关键字,请写出查找过程中依次和给定值“92”比较的关键字。
四、算法阅读题(本大题共4小题,每小题5分,共20分)
30.以下函数中,h是带头结点的双向循环链表的头指针。
(1)说明程序的功能;
(2)当链表中结点数分别为1和6(不包括头结点)时,请写出程序中while循环体的执行次数。
intf(DListNode*h)
{
DListNode*p,*q;
i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自考 数据结构 历年 考题 综合 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)