2012《数据结构》期末试卷(A卷)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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