2012《数据结构》期末试卷(A卷)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

A. 1,2,4,3

B. 2,1,3,4

C. 1,4,3,2

D. 4,3,1,

2

5. 设栈S和队列Q的初始状态均为空,元素a,b,c,d,e,f,g依次进入栈S。若每个元素出栈后立即进入队列Q,且7个元素出队的顺序是b,d,c,f,e,a,g,则栈S的容量至少是( )。

A. 4

B.3

C.2

D. 1

6. 为解决计算机主机与打印机之间速度不匹配问题,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据。该缓冲区的逻辑结构应该是( )。

A. 栈

B. 队列

C. 树

D. 串

7. 串是一种特殊的线性表,下面哪个叙述体现了这种特殊性( )。

A. 可以顺序存储

B.数据元素是一个字符

C. 数据元素可以是多个字符

D. 可以链接存储

8.已知一棵完全二叉树的第6层(设根是第1层)有8个叶结点,则该完全二叉树的结点个数最多是( )。

A. 119

B. 111

C. 52

D. 39

9. 一个具有1025个结点的二叉树的高h为( )。

A.10至1024之间B.11至1025之间 C. 10 D. 11 10. 设森林F中有三棵树,第一,第二,第三棵树的结点个数分别为M1,M2和M3。与森林F对应的二叉树根结点的右子树上的结点个数是( )。

A.M1+M2 B.M2+M3 CM3 D. M1 11. 设无向图的顶点个数为n,则该图最多有( )条边。

A.n-1 B.n2C.n(n+1)/2 D.n(n-1)/2 12. 若查找每个记录的概率均等,则在具有n个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度ASL为( )。

A. (n-1)/2

B. n/2

C. n

D. (n+1)/2

13. 分别以下列序列构造二叉排序树,与用其它三个序列所构造的结果不同的是( )。

A.(100,80,90,60,120,110,130)

B.(100,120,110,130,80,60,90 )

C. (100,60,80,90,120,110,130)

D.

(100,80,60,90,120,130,110)

3. (10分)已知有向图G的顶点是编号1-5,其邻接矩阵如下。请画出其

从顶点1开始遍历的(1)深度优先生成树和(2)宽度优先生成树。

4.(10分)设有序表L=(5,7,9,12,16,19,25,47,63,76,82,90)。(1)

画出该有序表的判定树,(2)求其查找成功时的平均查找长度,(3)求其查找失败时的平均查找长度,(4)查找47时需经过哪几个结点。

5.(10分)已知一组关键字(46,58,15,45,90,18,10,62,65,95)。试(1)

画出按大根堆建立初始堆(只要结果堆,不必写出详细过程),(2)将输出堆顶元素的剩余元素重新调成堆。

6.(10分)设有待排序元素如下:15,13,20,18,12,60。下面是用不同排

序方法进行一趟排序的结果,请分别在各趟排序结果前的括号内填写用的是什么排序方法。

一趟()的排序结果为:12,13,15,18,20,60

一趟()的排序结果为:13,15,18,12,20,60

一趟()的排序结果为:13,15,20,18,12,60

一趟()的排序结果为:13,15,18,20,12,60

一趟()的排序结果为:12,13,20,18,15,60

四、算法设计题(本大题共3小题,第1和2题各7分,第3题6分,共

20分)

注意:算法中所用数据结构均可引用教科书中的定义,不必重新定义。

1.设la是一个双向循环链表,其表中元素递增有序。试写一算法插入元素x,

使表中元素依然递增有序。

DLinkedList DInsert(DLinkedList la, ElemType x)

∥在递增有序的双向循环链表la中插入元素x,使表中元素依然递增有序

{

}

2.设有顺序放置的n个桶,每个桶中装有一粒砾石,每粒砾石的颜色是红、白、蓝之一。要求重新安排,使得红色砾石在前,白色砾石居中,蓝色砾石居后。对每粒砾石的颜色只能察看一次,且只允许交换操作来调整砾石的位置。

void QkSort(rectype r[],int n)

∥r为有n个红、白和兰色的砾石的顺序表,

∥本算法按红色砾石在前,白色居中,兰色在最后进行排序

{

}

3.设二叉排序树上结点的值是互不相同的整数,试编写按递减顺序输出二叉排序树算法。

void InvertOrder(BSTree bt)

∥按递减次序输出二叉排序树bt结点的值

{

}∥InvertOrder

相关文档
最新文档