哈工大2021年秋季学期数据结构期末试题

因为考完试没有收演草纸,所以题中数据与考试差距不大。选项顺序可能略有差异;选择第5题希尔排序的序列数据是后编的;简答第3题B-树的插入序列顺序可能不同,但是考察的点是一样的。其他题的数据基本可以保证和原题一样。

一、选择题

1 1 1.以下代码的时间复杂度是

for(int k=1;k<=n;k*=2)
	for(int j=1;j<=n;j++)
		count++;

A . O ( n )         B . O ( n l o g n )         C . O ( n 2 )         D . O ( l o g n ) A.O(n)\ \ \ \ \ \ \ B.O(nlogn)\ \ \ \ \ \ \ C.O(n^2)\ \ \ \ \ \ \ D.O(logn) A.O(n)       B.O(nlogn)       C.O(n2)       D.O(logn)
2 2 2.一棵二叉树的先序序列是 a , b , c , d a,b,c,d a,b,c,d,有多少种可能的形态?
A . 13         B . 14         C . 15         D . 16 A.13\ \ \ \ \ \ \ B.14\ \ \ \ \ \ \ C.15\ \ \ \ \ \ \ D.16 A.13       B.14       C.15       D.16
3 3 3.以下哪种方式可以用于求取图的所有极大连通子图?
A A A.广度优先搜索 B B B.关键路径 C C C.最短路 D D D.最小生成树
4 4 4.给定以下活动,缩短哪个活动的时间可以加快工程进度?

活动名 持续时间 前置要求
A 6 -
B 4 -
C 3 A
D 4 B
E 3 B
F 10 -
G 3 E,F
H 2 C,D

A . A A.A A.A活动         B . C \ \ \ \ \ \ \ B.C        B.C活动         C . F \ \ \ \ \ \ \ C.F        C.F活动         D . H \ \ \ \ \ \ \ D.H        D.H活动
5 5 5.给定一趟希尔排序之后的序列 1 , 2 , 9 , 3 , 4 , 12 , 7 , 10 , 20 1,2,9,3,4,12,7,10,20 1,2,9,3,4,12,7,10,20,那么这趟希尔排序的增量可能是()
A . 3         B . 4         C . 5         D . 6 A.3\ \ \ \ \ \ \ B.4\ \ \ \ \ \ \ C.5\ \ \ \ \ \ \ D.6 A.3       B.4       C.5       D.6
*这道题数据和原题不一样,但答案一样

二、填空题

1 1 1.设 1 , 2 , . . . , n 1,2,...,n 1,2,...,n先后入栈,出栈序列为 a 1 , a 2 , . . . , a n a_1,a_2,...,a_n a1,a2,...,an,现有 a 2 = 3 a_2=3 a2=3,那么 a 3 a_3 a3的取值有_______种可能。
2 2 2.对下面的序列进行两趟基数排序的序列是__________________
110 , 119 , 007 , 911 , 114 , 120 , 122 110,119,007,911,114,120,122 110,119,007,911,114,120,122
3 3 3.中序线索二叉树中,一个非根的无右子树的节点的右指针指向_________
4 4 4.将 1...7 1...7 1...7依次插入AVL树中,插入后树中有_____个平衡因子为 0 0 0分支节点。
5 5 5.对下图以 a a a为源点应用Dijkstra算法得到的目标顶点序列依次为 a , b , c , a,b,c, a,b,c,_______
哈工大2021年秋季学期数据结构期末试题_第1张图片

三、简答题

1. 1. 1.现有长为 3 , 6 , 7 , 8 , 12 , 13 , 16 3,6,7,8,12,13,16 3,6,7,8,12,13,16的钢筋想要合成为长为 65 65 65的钢筋,每次合成花费两段长度之和的金币,有 200 200 200金币的预算。
( 1 ) (1) (1)请给出花费最少的方案并进行说明。
( 2 ) (2) (2)最多能节省多少金币?
2. 2. 2.简述Prim算法的思想,并且根据下图完成算法运行的表格。
哈工大2021年秋季学期数据结构期末试题_第2张图片

V S-V 下一步考察的边 最近邻
{1} {2,3,4,5,6} (1,2):6,(1,4):5,(1,3):1 _
_ _ _ _
_ _ _ _
_ _ _ _
_ _ _ _
_ _ _ _

3. 3. 3.给出以下序列: 12 , 68 , 21 , 40 , 33 , 25 , 59 , 51 12,68,21,40,33,25,59,51 12,68,21,40,33,25,59,51依次插入B-树中,最后删除 40 40 40,请依次画出每次插入及最后删除之后B-树的形态。

四、算法设计题

1. 1. 1.设计算法,使时间复杂度尽可能低,判断两个数组中的元素是否完全相同。同时分析时间复杂度、空间复杂度。
2. 2. 2.一个无重复元素序列的最大二叉树的根节点是序列中最大的元素,左右子树分别是最大元素两边序列的最大二叉树。给出根据一个序列构造最大二叉树的算法,并分析其在最好、最坏情况下的时间复杂度和空间复杂度。
3. 3. 3.给定一个有向无环图,将它重新编号,使得它的邻接矩阵是一个上三角矩阵。

你可能感兴趣的:(算法,数据结构)