全国自考数据结构真题及答案.docx

上传人:b****5 文档编号:2782593 上传时间:2022-11-15 格式:DOCX 页数:16 大小:157.45KB
下载 相关 举报
全国自考数据结构真题及答案.docx_第1页
第1页 / 共16页
全国自考数据结构真题及答案.docx_第2页
第2页 / 共16页
全国自考数据结构真题及答案.docx_第3页
第3页 / 共16页
全国自考数据结构真题及答案.docx_第4页
第4页 / 共16页
全国自考数据结构真题及答案.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

全国自考数据结构真题及答案.docx

《全国自考数据结构真题及答案.docx》由会员分享,可在线阅读,更多相关《全国自考数据结构真题及答案.docx(16页珍藏版)》请在冰豆网上搜索。

全国自考数据结构真题及答案.docx

全国自考数据结构真题及答案

更多优质自考资料尽在XX贴吧自考乐园俱乐部

 

2009年10月全国自考数据结构真题

 

一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项

中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均

无分。

1.按值可否分解,数据类型通常可分为两类,它们是()

A.静态类型和动态类型

B.原子类型和表类型

C.原子类型和结构类型

D.数组类型和指针类型

答案:

C

2.

 

A.A

B.B

C.C

D.D

答案:

C

3.指针p、q和r依次指向某循环链表中三个相邻的结点,交换结点*q和结点*r在表中次序的程

序段是()

A.p->next=r;q->next=r->next;r->next=q;

B.p->next=r;r->next=q;q->next=r->next;

C.r->next=q;q->next=r->next;p->next=r;

D.r->next=q;p->next=r;q->next=r->next;

答案:

A

4.若进栈次序为a,b,c,且进栈和出栈可以穿插进行,则可能出现的含3个元素的出栈序列

个数是()

A.3

B.5

C.6

D.7

答案:

B

 

5.假设以数组A[n]存放循环队列的元素,其头指针front指向队头元素的前一个位置、尾指

针rear指向队尾元素所在的存储位置,则在少用一个元素空间的前提下,队列满的判定条件为()

A.rear==front

B.(front+1)%n==rear

C.rear+1==front

D.(rear+1)%n==front

答案:

D

6.串的操作函数str定义为:

 

A.3

B.4

C.5

D.6

答案:

C

7.二维数组A[10][6]采用行优先的存储方法,若每个元素占4个存储单元,已知元素

A[3][4]的存储地址为1000,则元素A[4][3]的存储地址为()

A.1020

B.1024

C.1036

D.1240

答案:

A

8.对广义表L=(a,())执行操作tail(L)的结果是()

A.()

B.(())

C.a

D.(a)

答案:

B

9.已知二叉树的中序序列和后序序列均为ABCDEF,则该二叉树的先序序列为()

A.FEDCBA

 

B.ABCDEF

C.FDECBA

D.FBDCEA

答案:

A

10.已知森林F={T1,T2,T3,T4,T5},各棵树Ti(i=1,2,3,4,5)中所含结点的个数分别

为7,3,5,1,2,则与F对应的二叉树的右子树中的结点个数为()

A.2

B.3

C.8

D.11

答案:

D

11.若非连通无向图G含有21条边,则G的顶点个数至少为()

A.7

B.8

C.21

D.22

答案:

B

12.如图所示的有向图的拓扑序列是()

 

A.c,d,b,a,e

B.c,a,d,b,e

C.c,d,e,a,b

D.c,a,b,d,e

答案:

B

13.对关键字序列(6,1,4,3,7,2,8,5)进行快速排序时,以第1个元素为基准的一次划

分的结果为()

A.(5,1,4,3,6,2,8,7)

B.(5,1,4,3,2,6,7,8)

C.(5,1,4,3,2,6,8,7)

D.(8,7,6,5,4,3,2,1)

答案:

C

 

14.分块查找方法将表分为多块,并要求()

A.块内有序

B.块间有序

C.各块等长

D.链式存储

答案:

B

15.便于进行布尔查询的文件组织方式是()

A.顺序文件

B.索引文件

C.散列文件

D.多关键字文件

答案:

 

二、填空题(本大题共10小题,每小题2分,若有两个空格,每个空格1分,共20分)请

在每个空格中填上正确答案。

错填、不填均无分。

1.数据的链式存储结构的特点是借助___表示数据元素之间的逻辑关系。

答案:

指针

2.如果需要对线性表频繁进行___或___操作,则不宜采用顺序存储结构。

答案:

插入删除

3.如图所示,可以利用一个向量空间同时实现两个类型相同的栈。

其中栈1为空的条件是

top1=0,栈2为空的条件是top2=n-1,则“栈满”的判定条件是___。

 

答案:

top1>top2(或top2=top1-1或top1=top2+1)

4.静态存储分配的顺序串在进行插入、置换和___等操作时可能发生越界。

答案:

联接

5.广义表L=(a,(b,()))的深度为___。

答案:

3

6.任意一棵完全二叉树中,度为1的结点数最多为___。

答案:

1

7.求最小生成树的克鲁斯卡尔(Kruskal)算法耗用的时间与图中___的数目正相关。

 

答案:

8.在5阶B树中,每个结点至多含4个关键字,除根结点之外,其他结点至少含___个关键字。

答案:

2

9.若序列中关键字相同的记录在排序前后的相对次序不变,则称该排序算法是___的。

答案:

稳定

10.常用的索引顺序文件是___文件和___文件。

答案:

ISAMVSAM

 

三、解答题(本大题共4小题,每小题5分,共20分)

1. 

 

答案:

 

2.由字符集{s,t,a,e,i}及其在电文中出现的频度构建的哈夫曼树如图所示。

已知某段电

文的哈夫曼编码为111000010100,请根据该哈夫曼树进行译码,写出原来的电文。

答案:

eatst(说明:

每个字母1分)(5分)

3.已知无向图G的邻接表如图所示,

(1)画出该无向图;

 

(2)画出该图的广度优先生成森林。

(1)

(2)

 

答案:

(1)

(说明:

每错1个顶点或边,扣0.5分,

扣完3分为止)

(3分)

(2)

(说明:

每错1个顶点或边,扣0.5分,

扣完2分为止)

(2分)

4.对序列(48,37,63,96,22,31,50,55,11)进行升序的堆排序,写出构建的初始(大根

)堆及前两趟重建堆之后的序列状态。

初始堆:

第1趟:

第2趟:

答案:

初始堆:

(96,55,63,48,22,31,50,37,11)(2分)

第1趟:

(63,55,50,48,22,31,11,37,96)(2分)

 

第2趟:

(55,48,50,37,22,31,11,63,96)(1分)

 

四、算法阅读题(本大题共4小题,每小题5分,共20分)

1.阅读下列算法,并回答问题:

(1)无向图G如图所示,写出算法f30(&G)的返回值;

(2)简述算法f30的功能。

#defineMaxNum20

intvisited[MaxNum];

voidDFS(Graph*g,inti);

/*从顶点vi出发进行深度优先搜索,访问顶点vj时置visited[j]为1*/

intf30(Graph*g)

{inti,k;

for(i=0;in;i++)/*g->n为图g的顶点数目*/

visited[i]=0;

for(i=k=0;in;i++)

if(visited[i]==0)

{k++;

DFS(g,i);

}

returnk;

}

(1)

(2)

答案:

(1)3(3分)

(2)返回无向图g中连通分量的个数。

(2分)

 

2.假设学生成绩按学号增序存储在带头结点的单链表中,类型定义如下:

typedefstructNode{

intid;/*学号*/

intscore;/*成绩*/

structNode*next;

}LNode,*LinkList;

阅读算法f31,并回答问题:

(2)简述算法f31的功能。

voidf31(LinkListA,LinkListB)

{LinkListp,q;

p=A->next;

q=B->next;

while(p&&q)

{if(p->idid)

p=p->next;

elseif(p->id>q->id)

q=q->next;

else

{if(p->score<60)

if(q->score<60)

p->score=q->score;

elsep->score=60;

p=p->next;

q=q->next;

}

}

}

(1)

(2)

答案:

自考乐园,自考学习交流、资料共享的好去处!

自考乐园,自考人自己的家园....

俱乐部id:

5346389(请牢记它哦~在XX贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部

 

3.阅读下列算法,并回答问题:

(1)设串s="OneWorldOneDream",t="One",pos是一维整型数组,写出算法

f32(s,t,pos)执行之后得到的返回值和pos中的值;

(2)简述算法f32的功能。

intstrlen(char*s);/*返回串s的长度*/

intindex(char*st,char*t);

/*若串t在串st中出现,则返回在串st中首次出现的下标值,否则返回-1*/

intf32(char*s,char*t,intpos[])

{inti,j,k,ls,lt;

ls=strlen(s);

lt=strlen(t);

if(ls==0||lt==0)return-1;

k=0;

i=0;

do{

j=index(s+i,t);

if(j>=0)

{pos[k++]=i+j;

i+=j+it;

}

}while(i+it<=is&&j>=0);

 

returnk;

}

(1)

(2)

答案:

(1)2;pos[0]=0,pos[1]=8(说明:

每个值1分)(3分)

(2)返回串t在s中出现的次数,并将每次出现的位置依次存放在数组pos中。

(2分)

4.二叉排序树的存储结构定义为以下类型:

typedefintKeyType;

typedefstructnode{

KeyTypekey;/*关键字项*/

InfoTypeotherinfo;/*其它数据项*/

structnode*lchild,*rchild;/*左、右孩子指针*/

}BSTNode,*BSTree;

阅读算法f33,并回答问题:

(1)对如图所示的二叉排序树T,写出f33(T,8)返回的指针所指结点的关键字;

(2)在哪些情况下算法f33返回空指针?

(3)简述算法f33的功能。

BSTNode*f33(BSTreeT,KeyTypex)

{BSTNode*p;

if(T==NULL)returnNULL;

p=f33(T->lchild,x);

if(p!

=NULL)returnp;

if(T->key>x)returnT;

returnf33(T->rchild,x);

}

(1)

(2)

(3)

 

答案:

(1)10(2分)

(2)T是空树或T中所有结点的关键字均不大于给定值x时,返回空指针。

(2分)

 

(3)如果二叉排序树T中存在含

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1