山东理工大学数据结构期末试题及复习资料
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
10-11学年第一学期计算机科学与技术专业张先伟、肖爱梅
一、填空(每空1分,共20分)
1、深度为k的完全二叉树至少有10个叶结点的二叉树中有2的结点。
2、设数组a[1..5,1..8]的基地址为200,每个元素占2个存储单元,若以行序为主序顺序存储,则元素
a[4,6]的存储地址为
3
4
5、要在一个单链表中p所指结点之后插入一个子链表,子链表第一个结点的地址为s,子链表最后一个
结点的地址为t, 。
6、设有向图G的存储结构用邻接矩阵A来表示,则A中第i行中所有非零元素个数之和等于顶点i的
i列中所有非零元素个数之和等于顶点i
7、对于表长为n的顺序存储的线性表,访问结点的时间复杂度为删除结点的时间复杂度为。
8、将一棵有100个结点的完全二叉树从根这一层开始,每一层从左到右依次对结点进行编号,根结点
编号为1
9、己知有序表为(12,18,24,35,47,50,62,83,90,115,134),当用折半查找法查找100时,
需
10、Dijkstra
11、如果T2是由树T1转换而来的二叉树,那么T1中结点的后序遍历就是T2
12、广义表A= (d)则Head(Tail(Head(Tail(Tail(A)))))的值为
13、设无向连通图的顶点个数为n,则该图最少有
二、选择(每题2分,共20分)
1、若需在O(nlog2n)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是
A.快速排序B.堆排序C.归并排序D.直接插入排序
2、有五个元素按5,4,3,2,1
A. 3 2 1 5 4 B. 4 5 3 1 2 C. 3 4 5 2 1 D. 2 3 4 1 5
3、无向图G=(V,E),其中:V={a,b,c,d,e,f},E={(a,b),(a,e),(a,c),(b,e),(c,f),(f,d),(e,d)},对该图进行深度优先
遍历,得到的顶点序列正确的是
A.a,b,e,c,d,f B.a,c,f,e,b,d C.a,e,b,c,f,d D.a,e,d,f,c,b
4、链表不具有的特点是
A.插入、删除不需要移动元素B.可随机访问任一元素
C.不必事先估计存储空间D.所需空间与线性表长度成正比
5、在一棵三叉树中,度为3的结点数为2个,度为2的结点数为1个,度为1的结点数为2个,则度
为0的结点数为
A.4 B.8 C.6 D.5
6、若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除
一个元素,再加入两个元素后,rear和front的值分别是
A.2和4 B.1和5 C.4和2 D.5和1
7、若数据元素序列11,12,13,7,8,9,23,4,5是采用下列排序方法之一得到的第二趟排序后的
结果,则该排序算法只能是
A.起泡排序 B.插入排序 C.选择排序 D.二路归并排序
8、对稀疏矩阵进行压缩存储目的是
A.便于进行矩阵运算B.便于输入和输出C.节省存储空间D.降低运算的时间复杂度
9、在下面的程序段中,对x的赋值语句的频度为
for ( i=1; i<= n; i++)
for ( j=1; j<= n; j++)
x=x+1;
A.O(2n) B.O(n) C.O(log2n) D.O(n2)
10、双向链表中,在指针p指向的结点前插入指针q
A.p->prior=q; q->next=p; p->prior->next=q; q->prior=q;
B.p->prior=q; p->prior->next=q; q->next=p; q->prior=p->prior;
C.q->next=p; q->prior=p->prior; p->prior->next=q; p->prior=q;
D.q->prior=p->prior; q->next=q; p->prior=q; p->prior=q;
三、应用题(40分)
1、(6分)已知一个无向图G=(V,E),其中V={A,B,C,D,E,F},邻接矩阵表示如下所示。
请回答下列问题:
(1)请画出对应的图G。
(2)画出图G的邻接表存储结构。
2、(6分)对于关键字序列(503,87,512,61,908,120,897,275,653,462), 建立初始堆(小顶
堆)。
3、(8分)已知一棵二叉树的先序序列:A B D H I M E J C F K L G,中序序列:H D I M B J E A K F L C G,请
画出该二叉树,并简单说明理由。
4、(6分)采用哈希函数H(k)=3*k MOD 13,并用线性探测开放地址法处理冲突,在数列地址空间[0..12]
中对关键字序列22、41、53、46、30、13、1、67、51,构造哈希表(画示意图)。
5、(6分)下图为无向带权图,用克鲁斯卡尔算法构造其最小生成树,并写出选边的顺序。
6、(8分)对关键字序列{30,15,28,20,24,10,12,68,35},
(1)构造一棵二叉排序树;
(2)对初始序列构造一棵二叉平衡树。
四、算法阅读与设计题(本大题共2小题,共20分)
1、(8分)已知下列程序,Ls指向带头结点的单链表。
Typedefstruct node {
DataType data;
struct node * next;
} * LinkList;
void f30( LinkList Ls )
{ LinkList p, q;
q = Ls->next;
if ( q && q->next ) {
Ls->next = q->next;
p=q
while ( p->next )
p = p->next;
p->next = q;
q->next = NULL;
}
}
请回答下列问题: