自考数据结构导论试题1.docx

上传人:b****5 文档编号:30076092 上传时间:2023-08-04 格式:DOCX 页数:39 大小:177.65KB
下载 相关 举报
自考数据结构导论试题1.docx_第1页
第1页 / 共39页
自考数据结构导论试题1.docx_第2页
第2页 / 共39页
自考数据结构导论试题1.docx_第3页
第3页 / 共39页
自考数据结构导论试题1.docx_第4页
第4页 / 共39页
自考数据结构导论试题1.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

自考数据结构导论试题1.docx

《自考数据结构导论试题1.docx》由会员分享,可在线阅读,更多相关《自考数据结构导论试题1.docx(39页珍藏版)》请在冰豆网上搜索。

自考数据结构导论试题1.docx

自考数据结构导论试题1

全国2007年1月

数据结构导论试题

课程代码:

02142

一、单项选择题(本大题共15小题,每小题2分,共30分)

在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1.关于栈和队列的说法中正确的是()

A.栈和队列都是线性结构

B.栈是线性结构,队列不是线性结构

C.栈不是线性结构,队列是线性结构

D.栈和队列都不是线性结构

2.关于存储相同数据元素的说法中正确的是()

A.顺序存储比链式存储少占空间

B.顺序存储比链式存储多占空间

C.顺序存储和链式存储都要求占用整块存储空间

D.链式存储比顺序存储难于扩充空间

3.从逻辑关系来看,数据元素的直接前驱为0个或1个的数据结构只能是()

A.线性结构B.树形结构

C.线性结构和树型结构D.线性结构和图状结构

4.已知一个单链表中,指针q指向指针p的前趋结点,若在指针q所指结点和指针p所指结点之间插入指针s所指结点,则需执行()

A.q→next=s;p→next=s;B.q→next=s;s→next=p;

C.q→next=s;q→next=p;D.q→next=s;s→next=q;

5.在长度为n的线性表中删除一个指针p所指结点的时间复杂度是()

A.O(n)B.O

(1)

C.O(log2n)D.O(n2)

6.设一个栈的输入序列是a,b,c,d,则所得到的输出序列(输入过程中允许出栈)不可能出现的是()

A.a,b,c,dB.a,b,d,c

C.d,c,b,aD.c,d,a,b

7.关于串的叙述中,正确的是()

A.空串是只含有零个字符的串

B.空串是只含有空格字符的串

C.空串是含有零个字符或含有空格字符的串

D.串是含有一个或多个字符的有穷序列

8.在具有m个单元的循环队列中,队头指针为front,队尾指针为rear,则队满的条件是()

A.front==rearB.(front+1)%m==rear

C.rear+1==frontD.(rear+1)%m==front

9.设有二维数组A[n][n]表示如下:

,则A[i][i](0≤i≤n-1)的值为()

A.i*(i-1)/2B.i*(i+1)/2

C.(i+2)*(i+1)/2D.i2/2

10.高度为h的完全二叉树中,结点数最多为()

A.2h-1B.2h+1

C.2h-1D.2h

11.由m棵结点数为n的树组成的森林,将其转化为一棵二叉树,则该二叉树中根结点的右子树上具有的结点个数是()

A.mnB.mn-1

C.n(m-1)D.m(n-1)

12.在一个具有n个顶点的无向图中,每个顶点度的最大值为()

A.nB.n-1

C.n+1D.2(n-1)

13.关于无向图的邻接矩阵的说法中正确的是()

A.矩阵中非全零元素的行数等于图中的顶点数

B.第i行上与第i列上非零元素总和等于顶点Vi的度数

C.矩阵中的非零元素个数等于图的边数

D.第i行上非零元素个数和第i列上非零元素个数一定相等

14.设一组记录的关键字key值为{62,50,14,28,19,35,47,56,83},散列函数为H(key)=keymod13,则它的开散列表中散列地址为1的链中的结点个数是()

A.1B.2

C.3D.4

15.设有一组初始关键字值序列为(49,81,55,36,44,88),则利用快速排序的方法,以第一个关键字值为基准得到的一次划分为()

A.36,44,49,55,81,88B.44,36,49,55,81,88

C.44,36,49,81,55,88D.44,36,49,55,88,81

二、填空题(本大题共13小题,每小题2分,共26分)

请在每小题的空格中填上正确答案。

错填、不填均无分。

16.在数据结构中,各个结点按逻辑关系互相缠绕,任意两个结点可以邻接的结构称为_______。

17.每个存储结点只含一个数据元素,所有存储结点连续存放。

此外增设一个索引表,索引表中的索引指示各存储结点的存储位置或位置区间端点。

按这种方式组织起来的存储结构称为_______。

18.在顺序表上读表元算法的时间复杂度为_______。

19.双链表中前驱指针为prior,后继指针为next,在指针P所指结点前插入指针S所指的结点,需执行下列语句:

S→next=P;S→prior=P→prior;P→prior=S;_______;

20.设数组A[0..8][0..8]的起始元素位置为a,每个元素占2L个存储单元,按行序为主序存储。

若元素A[i][j]的存储位置为a+66L,则元素A[j][i]的存储位置为_______。

21.有4个结点且深度为4的二叉树的形态共有_______种。

22.某二叉树的先根遍历序列为IJKLMNO,中根遍历序列为JLKINMO,则该二叉树中根结点的右孩子是_______。

23.第一个顶点和最后一个顶点相同的路径称为回路或者环,除第一个顶点和最后一个顶点外,其余顶点都不重复的回路,称为_______。

24.一个具有10个顶点的完全无向图中有_______条边。

25.一棵平衡二叉树中任一结点的平衡因子只可能是_______。

26.二分查找的时间复杂度为_______。

27.二路归并排序算法的时间复杂度为_______。

28.文件的基本存取单位是_______。

三、应用题(本大题共5小题,每小题6分,共30分)

29.有一字符串序列为5*-x-y/x+2,利用栈的运算将其输出结果变为5x-*yx+/-2,试写出该操作的入栈和出栈过程(采用push(a)表示a入栈,pop(a)表示a出栈)。

30.某二叉树的先根遍历序列为ABIJCDFGHE,中根遍历序列为IJBADGFHCE,试画出该二叉树,并写出它的后序遍历序列。

31.用冒泡排序算法对数据序列(49,38,65,97,76,134,27,49)进行排序,写出整个冒泡排序的每一趟过程。

32.题32图所示二叉树是否为平衡二叉树?

若是,说明理由;若不是,将其转换为平衡二叉树。

题32图

33.已知连通网的邻接矩阵A=

,试画出它所表示的连通网并画出该连通网的最小生成树。

四、算法设计题(本大题共2小题,每小题7分,共14分)

34.设单链表的结点结构如下:

structnode{datatypedata;

structnode*next;

}

试编写一个函数intcount(structnode*head,datatypex)统计单链表中数据域为x的结点个数。

35.试写出直接插入排序算法。

全国2007年10月

数据结构导论试题

课程代码:

02142

一、单项选择题(本大题共15小题,每小题2分,共30分)

在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1.在数据结构中,从逻辑上可以把数据结构分成()

A.线性结构和非线性结构B.紧凑结构和非紧凑结构

C.动态结构和静态结构D.内部结构和外部结构

2.for(i=0;i

for(j=0;j

A[i][j]=i*j;

上面算法的时间复杂度为()

A.O(m2)B.O(n2)

C.O(m×n)D.O(m+n)

3.设顺序表有9个元素,则在第3个元素前插入一个元素所需移动元素的个数为()

A.5B.6

C.7D.9

4.设p为指向双向循环链表中某个结点的指针,p所指向的结点的两个链域分别用p→llink和p→rlink表示,则同样表示p指针所指向结点的表达式是()

A.p→llinkB.p→rlink

C.p→llink→llinkD.p→llink→rlink

5.一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的存储地址是()

A.110B.108

C.100D.120

6.设有一个栈,按A、B、C、D的顺序进栈,则可能为出栈序列的是()

A.DCBAB.CDAB

C.DBACD.DCAB

7.在一个具有n个单元的顺序栈中,假定以地址低端(即0单元)作为栈底,以top为栈顶指针,则当做出栈处理时,top变化为()

A.top++B.top--

C.top不变D.top=0

8.除根结点外,树上每个结点()

A.可有任意多个孩子、一个双亲B.可有任意多个孩子、任意多个双亲

C.可有一个孩子、任意多个双亲D.只有一个孩子、一个双亲

9.题9图中树的度为()

A.2

B.3

C.5

D.8题9图

10.有4个顶点的无向完全图的边数为()

A.6B.12

C.16D.20

11.设图的邻接矩阵为

,则该图为()

A.有向图B.无向图

C.强连通图D.完全图

12.在对查找表的查找过程中,若被查找的数据元素不存在,则把该数据元素插入到集合中。

这种方式主要适合于()

A.静态查找表B.动态查找表

C.静态查找表与动态查找表D.静态查找表或动态查找表

13.用散列函数求元素在散列表中的存储位置时,可能会出现不同的关键字得到相同散列函数值的冲突现象。

可用于解决上述问题的是()

A.线性探测法B.除留余数法

C.平方取中法D.折叠法

14.排序算法中,第一趟排序后,任一元素都不能确定其最终位置的算法是()

A.选择排序B.插入排序

C.冒泡排序D.快速排序

15.在排序方法中,从未排序序列中挑选元素,并将其依次放入已排序序列(初始时为空)的一端的方法,称为()

A.希尔排序B.归并排序

C.插入排序D.选择排序

二、填空题(本大题共13小题,每小题2分,共26分)

请在每小题的空格中填上正确答案。

错填、不填均无分。

16.如果操作不改变原逻辑结构的“值”,而只是从中提取某些信息作为运算结果,则称该类运算为__________型运算。

17.设有指针head指向不带表头结点的单链表,用next表示结点的一个链域,指针p指向与链表中结点同类型的一个新结点。

现要将指针p指向的结点插入表中,使之成为第一个结点,则所需的操作为“p→next=head;”和“__________”。

18.单链表中逻辑上相邻的两个元素在物理位置上__________相邻。

19.在一个长度为n的数组中删除第i个元素(1≤i≤n)时,需要向前移动的元素的个数是__________。

20.设F、C是二叉树中的两个结点,若F是C的祖先结点,则在采用后根遍历方法遍历该二叉树时,F和C的位置关系为:

F必定在C的__________。

21.若用后根遍历法遍历题21图所示的二叉树,其输出序列为__________。

题21图

22.具有n个顶点的连通图至少需有__________条边。

23.在无向图G的邻接矩阵A中,若A[i][j]等于1,则A[j][i]等于__________。

24.设顺序表的表长为n,且查找每个元素的概率相等,则采用顺序查找法查找表中任一元素,在查找成功时的平均查找长度为__________。

25.在索引顺序表上的查找分两个阶段:

一是查找__________,二是查找块。

26.文件的基本运算有检索和修改两类。

而检索又有三种方式,它们是__________存取、直接存取和按关键字存取。

27.在对一组关键字为(54,38,96,23,15,72,60,45,83)的记录采用直接选择排序法进行排序时,整个排序过程需进行__________趟才能够完成。

28.冒泡排序是一种稳定排序方法。

该排序方法的时间复杂度为__________。

三、应用题(本大题共5小题,每小题6分,共30分)

29.分别写出题29图中二叉树的先根、中根、后根遍历序列。

题29图

30.设要将序列(Q,H,C,Y,P,A,M,S,R)按字母升序排序,请分别画出采用堆排序方法时建立的初始堆,以及第一次输出堆顶元素后经过筛选调整的堆的完全二叉树形态。

31.如题31图所示,输入元素为A,B,C,在栈的输出端得到一个输出序列ABC,试写出在栈的输入端三个可能的输入序列。

题31图

32.已知无向图G的邻接矩阵如题32图所示。

请画出该无向图,并写出按深度优先搜索时的访问序列。

题32图

33.对长度为20的有序表进行二分查找,试画出它的一棵判定树。

四、算法设计题(本大题共2小题,每小题7分,共14分)

34.下面程序段为删除循环链表中第一个info域值等于x的结点,请填上程序中缺少的部分。

循环链表的结构如题34图所示:

题34图

structnode{intinfo;structnode*link;}

intDelete(structnode*head,intx)

{structnode*p,*q;/*p:

当前处理的结点;q:

p的前驱结点*/

if(!

head)return(0);

if(head→link==head)

{if(head→info==x)

{free(head);head=NULL;return(x)

}

return(0);

}

p=head;q=head;

while(q→link!

=head)q=

(1);

while(p→link!

=head)

{if(p→info==x)

{

(2);

if(p==head)head=(3);

free(p);return(x);

}

else{q=p;(4);}

}

return(0);

}

35.设以二叉链表为二叉树的存储结构,结点的结构如下:

lchild

data

rchild

其中data域为整数,试设计一个算法voidchange(bitreptrr):

若结点左孩子的data域的值大于右孩子的data域的值,则交换其左、右子树。

 

全国2008年1月

数据结构导论试题

课程代码:

02142

一、单项选择题(本大题共15小题,每小题2分,共30分)

在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1.在数据结构中,数据的基本单位是()

A.数据项B.数据元素

C.数据对象D.数据文件

2.k=1;

for(i=0;i

for(j=0;j

A[i][j]=k++;

上述程序段的时间复杂度为()

A.O(n2)B.O(n)

C.O(2n)D.O

(1)

3.线性表采用链式存储结构时,要求内存中可用存储单元的地址()

A.必须是连续的B.必须是部分连续的

C.一定是不连续的D.连续和不连续都可以

4.设h是指向非空带表头结点的循环链表的头指针,p是辅助指针。

执行程序段

p=h;

while(p->next->next!

=h)

p=p->next;

p->next=h;

后(其中,p->next为p指向结点的指针域),则()

A.p->next指针指向链尾结点B.h指向链尾结点

C.删除链尾前面的结点D.删除链尾结点

5.设顺序表有19个元素,第一个元素的地址为200,且每个元素占3个字节,则第14个元素的存储地址为()

A.236B.239C.242D.245

6.一个栈的入栈序列是a,b,c,d,e,则栈的输出序列不可能是()

A.dceabB.decba

C.edcbaD.abcde

7.元素大小为1个单元,容量为n个单元的非空顺序栈中,以地址高端为栈底,以top作为栈顶指针,则出栈处理后,top的值应修改为()

A.top=topB.top=n-1

C.top=top-1D.top=top+1

8.某二叉树的先根遍历序列和后根遍历序列正好相反,则该二叉树具有的特征是()

A.高度等于其结点数B.任一结点无左孩子

C.任一结点无右孩子D.空或只有一个结点

9.在完全二叉树中,若一个结点是叶结点,则它没有()

A.左孩子结点

B.右孩子结点

C.左孩子结点和右孩子结点

D.左孩子结点,右孩子结点和兄弟结点

10.邻接矩阵为对称矩阵的图是()

A.有向图B.带权有向图

C.有向图或无向图D.无向图

11.在一个具有n个顶点的无向图中,要连通全部顶点至少需要的边数为()

A.n-1B.n

C.n+1D.

12.若构造一棵具有n个结点的二叉排序树,最坏的情况下其深度不超过()

A.

B.n

C.

D.n+1

13.闭散列表中由于散列到同一个地址而引起的“堆积”现象,是()

A.由同义词之间发生冲突引起的

B.由非同义词之间发生冲突引起的

C.由同义词之间或非同义词之间发生冲突引起的

D.由散列表“溢出”引起的

14.一个序列中有10000个元素,若只想得到其中前10个最小元素,最好采用的排序方法是

()

A.快速排序B.堆排序

C.插入排序D.二路归并排序

15.在排序方法中,从未排序序列中依次取出元素与已排序序列(初始时为空)中的元素进行比较,将其放入已排序序列的正确位置上的方法,称为()

A.希尔排序B.插入排序

C.冒泡排序D.快速排序得分

二、填空题(本大题共13小题,每小题2分,共26分)

请在每小题的空格中填上正确答案。

错填、不填均无分。

16.数据的逻辑结构通常包括集合、线性结构、____________和图状结构。

17.设双链表中结点的前趋指针和后继指针的域名分别为t1和r1,指针s指向双链表中的一个结点(该结点既非头结点,也非尾结点),则删除s指针所指向结点的操作为“s->tl->r1=s->r1;”和“____________”。

18.对稀疏矩阵进行压缩存储的目的是节省____________。

19.在一个具有n个结点的单链表中查找值为m的某结点,若查找成功,则需平均比较的结点数为____________。

20.深度为15的满二叉树上,第11层有____________个结点。

21.对一棵有100个结点的完全二叉树按层编号,则编号为49的结点,它的左孩子的编号为____________。

22.一个具有4个顶点的无向完全图有____________条边。

23.一个有向图G中若有孤,则在图G的拓扑序列中,顶点Vi,Vj和Vk的相对位置为____________。

24.在一棵二叉排序树上按____________遍历得到的结点序列是一个有序序列。

25.实现二分查找的存储结构仅限于顺序存储结构,且其中元素排列必须是____________的。

26.文件的检索有三种方式,它们是顺序存取、直接存取和____________存取。

27.在插入排序和选择排序中,若原始记录已基本有序,则较适合选用____________。

28.对n个元素的序列进行冒泡排序时,最多需进行____________趟。

 

三、应用题(本大题共5小题,每小题6分,共30分)

29.写出利用直接选择排序方法对一组关键码为(54,38,96,23,15,72,60)的记录进行排序时,每趟排序的结果。

30.已知一棵二叉树的中根遍历序列和后根遍历序列分别为BDAFEHGC和DBFHGECA,试画出这棵二叉树。

31.设闭散列表容量为7(散列地址空间0..6),给定表(30,36,47,52,34),散列函数H(K)=Kmod6,采用线性探测法解决冲突,要求:

(1)构造散列表;

(2)求查找数34需要比较的次数。

32.如题32图所示,在栈的输入端有6个元素,顺序为A,B,C,D,E,F。

能否在栈的输出端得到序列DCFEBA及EDBFCA?

若能,给出栈操作的过程,若不能,简述其理由。

题32图

33.已知无向图G的邻接表如题33图所示,请画出该无向图,并写出其按广度优先搜索时的访问序列。

其中nil表示空。

题33图

四、算法设计题(本大题共2小题,每小题7分,共14分)

34.编写一个函数voidinsert(int*p,intsize,inta),其功能是将a插入指针变量p指向的长度为size的数组中。

设数组中的数据已按升序排序。

该函数要求实现的功能是:

首先采用折半查找的方法,找出要插入数据的位置;然后按升序将数据插入该数组中。

35.某带头结点的单链表的结点结构说明如下:

typedefstructnode1

{

intdata;

structnode1*next

}node;

试设计一个算法intcopy(node*head1,node*head2),将以head1为头指针的单链表复制到一个不带头结点且以head2为头指针的单链表中。

全国2008年10月自学考试数据结构导论试题

课程代码:

02142

一、单项选择题(本大题共15小题,每小题2分,共30分)

在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1.从逻辑上可以把数据结构分为(   )

A.动态结构、静态结构B.顺序结构、链式结构

C.线性结构、非线性结构D.初等结构、构造型结构

2.关于算法的描述,不正确的是(   )

A.算法最终必须由计算机程序实现

B.所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界

C.健壮的算法不会因非法的输入数据而出现莫名其妙的状态

D.算法的优劣与算法描述语言无关

3.在单链表中,存储每个结点需要有两个域,一个是数据域,另一个是指针域,指针域指向该结点的(   )

A.直接前趋B.直接后继

C.开始结点D.终端结点

4.将两个各有n个元素的有序表合并成一个有序表,其最少的比较次数为(   )

A.nB.2n-1

C.2nD.n2

5.栈和队列共同具有的特点是(   )

A.都是先进后出B.都是先进先出

C.只允许在端点进行操作运算D.既能先进先出,也能先进后出

6.若用一个有6个单元的数组来实现循环队列,rear和front的初值分别为0和3。

则从队列中删除一个元素,再添加两个元素后,rear和front的值分别为(   )

A.1和5B.2和4

C.4和2D.5和1

7.数组A[0..5][0..5]的每个元素占5个字节,将其以列为主序存储在起始地址为1000的内存单元中,则元素A[5][5]的地址是(   )

A.1175B.1180

C.1205D.1210

8.含有n个结点的二叉树采用二叉链表存储时,空指针域的个数为(   )

A.n-1B.n

C.n+1D.n+2

9.在一棵深度为H的完全二叉树中,所含结点的个数不少于(   )

A.2H-1-1B.2H-1

C.2H-1D.2H

10.一个具有n个顶点的无向连通图,它所包含的连通分量数为(   )

A.0B.1

C.nD.不

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

当前位置:首页 > 成人教育 > 自考

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

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