2020 年广西桂林理工大学数据结构及程序设计考研真题 A
卷
一、分析以下所给程序段的时间复杂度。 (10 分)
for (i=1;i
V7
V8
V9
V10
0
1
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
五、使用普里姆(Prim)算法构造出如下图所示的图 G 的一棵最小生成树。 (10 分)
10
8
B
8
20
A
5
6
C
9
F
6
4
D
E
12
图 G:一个无向图
六、试证明有 n0 个叶子的哈夫曼树共有 2n0-1 个结点。 (10 分)
七、设待排序的排序列为{36,80,45,66,22,9,16,36},试分别写出按下列排序方法
进行排序时的变化过程(即每趟排序后的结果)。(1)直接插入排序;(2)冒泡排序;
(3)直接选择排序。 (15 分)
八、设有一组关键字{19,01,23,14,55,20,84,27,68,11,10,77},采用哈希函
数: H(Key)=Key MOD 13, 采用开放地址法的线性探测再散列方法解决冲突,试在 0~
18 的散列地址空间中对该关键字序列构造哈希表。 (15 分)
九、设给定权集 W={4,5,6,7,10,12,18},试构造出关于 W 的哈夫曼树,并求出其加
权路径长度 WPL。 (15 分)
十、编写一个算法计算一棵二叉树 t 的高度过程。 (15 分)
十一、编写一个算法(命名为 QueueToStack)从一个队列创建一个栈,使队列的头为栈顶,
队列尾为栈底,算法的最后的要求使队列保持不变。 (15 分)
十二、有 50 个学生,每个学生有 3 门功课成绩,从键盘输入这 50 个学生的学号、姓名及
3 门功课成绩,计算出每人平均成绩,并用所有数据包括平均成绩建立在一个磁盘
文件“stud”中。
(15 分)