02142数据结构导论2016年04月份真题及答案 下载本文

内容发布更新时间 : 2024/11/15 7:29:00星期一 下面是文章的全部内容请认真阅读。

2016年4月高等教育自学考试全国统一命题考试

数据结构导论 试卷

(课程代码 02142)

本试卷共6页。满分l00分,考试时间l50分钟。 考生答题注意事项:

1.本卷所有试题必须在答题卡上作答。答在试卷上无效,试卷空白处和背面均可作草稿纸。 2.第一部分为选择题。必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑。 3.第二部分为非选择题。必须注明大、小题号,使用0.5毫米黑色字迹签字笔作答。 4.合理安排答题空间,超出答题区域无效。

第一部分 选择题(共30分)

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

在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题卡”的相应代码涂黑。错涂、多涂或未涂均无分。

1.一个公司的组织机构是1名公司经理领导若于名部门负责人、每个部门负责人领导若干名部门员工,则适合于描述该公司组织机构的逻辑结构是

A.线性表 B.队列 C.树 D.图

2.计算n!(整数n≥0)的递归算法是:int Factorial(int n){if(n= =o)return l;else return n*Factorial(n--1);}其时闯复杂度为

02

A.0(n) B.0(log2n) C.O(n) D.O(n) 3.将一个由指针q指向的结点插在单链表中由指针P所指向的结点之后的操作是 A.p=q; B.p--:>next=q;

C.q一>next=p--:>next;p-->next=q; D.p一>next—q;q-->next—p--:>next; 4. 设初始栈为空,s表示人栈操作,x表示出栈操作,则合法的操作序列是

A.sxxssxxs B.ssxsxxxs C.ssxxxssx D.sssxxxsx

5.将递归形式描述的算法改写为功能等价的非递归形式描述的算法,通常应设置的辅助结构是 A.顺序表 B.单链表 C.栈 D.队列

6.设长度为n的队列用单循环链表表示(假设表尾结点为当前队列的队尾元素),若只设头指针,则入队操作、出队操作的时间复杂度分别为

A.O(n)、O(1) B.O(1)、O(1) C.O(1)、O(n) D.0(n)、0(n)

7.若采用顺序存储(一维数组)结构存储一棵如题7图所示的二叉树,根结点1的下标为l,剥结点4的下标为

A.4 B.5 C.6 D.7

8.按层序(自顶向下、从左到右)遍历二叉树时需借助队列作辅助结构。对高度为3的满二叉树进行层序遍历时,队列中所出现的元素个数最多是

A.1 B.2 C.3 D. 4

9.一个数组的第一个元素的存储地址是i00,每个元素占2个存储单元,则第5个元素的存储地址是 A.120 B.110 C.108 D. 100

10.已知含6个顶点(v0,v1,v2,v3,v4,v5)的无向图的邻接矩阵如题10图所示,则从顶点V0出发进行深度优先搜索可能得到的顶点访问序列为

A.{v0,v1,v2,v5,v4,v3} B.{v0,v1,v2,v3,v4,v5} C.{v0,v1,v5,v2,v3,v4} D. {v0,v1,v4,v5,v2,v3} 11.“在旅游时从某地出发要去某个目的地,如何选择线路才能使得路程最短”,从图的应用角度.最合理的解决方案是

A.深度优先搜索 B.最小生成树 C.拓扑排序 D.最短路径 12.二分查找算法的时间复杂度是

2

A.O(n) B.O(n log2n) C. O(n) D.O(log2n)

13.已知一个散列表如题l3图所示,其散列函数为H(key)=key mod11,采用线性探测法处理冲突,则下一个进入散列表的关键字49的地址为

A. 2 B.3 C.8 D.9

14.用冒泡排序方法对n个待排序的键值进行排序,则整个排序过程所历经的趟数是 A.1 B.n一1

C.rl D.至少为l、至多为n—l

15.现对关键字序列{6,1,4,3,7,2,8,5)进行快速排序,那么以第1个元素6为工作基准的第一趟快速排序结束的结果序列为

A.{5,l,4,3,2,6,8,7) B.{5,1,4,3,2,6,7,8) C.{5,1,4,3,6,2,8,7) D.{8,7,6,5,4,3,2,1)

第二部分 非选择题(共70分)

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

16.计算机图灵奖获得者N.Wirth曾提出一个著名公式:算法+__数据结构__=程序。

17.“即使输入非法数据,算法也能适当地做出反应或进行处理,不会产生预料不到的运行结果。”这种评价算法好坏的因素称为__健壮性______。 18.设某非空双向链表,其结点结构为

,若要删除指针q所指向的结点,则需执行如下两条关

键语句:q一>priort>next=q-->next;__q->next->priort=q->prior;_______。

19.大小为MaxSize的循环队列中,若front与rear分别表示队头元素和队尾元素的位置,则判断该循环队列为空的条件表达式是_front==rear_____。

20.对稀疏矩阵进行压缩存储的一种方法是__三元组表______。

21.若一棵二又树中只有叶结点和左右子树皆非空的结点,设二叉树叶结点个数为s,则左右子树皆非空的结点个数是__s-1______。

22.若一棵二叉树的前序、中序、后序遍历的结果序列均相同,则该二叉树一定是__空二叉树______或是只有一个根结点的二叉树。

23.采用邻接表表示一有向图,若图中某顶点的入度和出度分别为D1和D2,则该顶点所对应的单链表的结点个数为__D2______。

24.对有序顺序表(07,12,15,18,27,32,46,65,83)用二分法查找,若查找成功,则查找所需比较次数最多的键值是____18 83____。

25.由n个键值构造的二叉排序树,在等概率查找的假设下,查找成功的平均查找长度的最大值可能达到__(_N +1)_/2____。

26.对关键字序列{26,36,41,38,44,15,68,l2,06,51},设HashSize=13,H(key)=key mod HashSize,并用链地址法解决冲突,则构造得到的散列表中的指针HP[__12____]所指向的一个单链表(同义词子表)最长。

27.在直接选择、直接插入、冒泡、快速等四种排序方法中,经一趟排序后,任一元素都不能确定其最终位最的排序方法是__直接插入______。

28.若采用直接选择排序方法对初始关键字序列{5,3,5,1)进行升序排序(其中包括2个值相同的关键字,均为5),则排序结束后的关键字序列是__(1,3,5,5__)____。 三、应用题(本大题共5小题.每小题6分。共30分)

29.如题29图所示,利用同一循环向量空间实现两个队列,其类型Queue2定义如下: typedef struct{DataType data[MaxSize];int:[ront[2],length[2];)Queue2;

对于i=0或l,front[i]和length[i-]分别为第i个队列的队头位置和实际长度。分别写出 这两个队列满的条件。

30.将如题30图所示的含有3棵树的森林转换成相应的二又树,并分别给出该森林先序、中序遍历的结果序列和相应的二叉树的先序、中序遍历结果序列,根据所得到的遍历结果序列你会得到什么结论?

31.对一个图G,按顺序输入顶点对<1,3>、<1,2>、<2,4>、<2,3>、<4,3>、<4,2>、<4,l>,

根据建立图的邻接表的算法画出相应的邻接表,并写出在该邻接表上,从顶点2开始搜索得到的一个深度优先搜索序列和广度优先搜索序列。

32.设顺序存储的线性表共有l00个元素,按分块查找(索引查找)的要求等分成5块。若对索引表采用二分查找来确定块,并在确定的块中进行顺序查找,则在概率相等的情况下,分块查找成功时的平均查找长度是多少(要求利甩∑PiCi来计算并给出详细算式)?

33.若采用堆排序方法对关键字序列{265,301,751,129,937,863,742,694,076,438}进行升序排序,写出其每趟排序结束后的关键字序列。

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

34.假设以带头结点的单链表表示线性表,单链表的类型定义如下: typedef struct node{int data;

struct node*next;)LinkedNode,*LinkedList,;

编写算法,删除值无序的线性表中值最大的元素(设表中各元素的值互不相同)。