2021年 山东大学 算法导论考卷 回忆版

2021SC@SDUSC

(1)解释算法时间复杂度的三个符号——Θ、Ω、Ο
(2)T(n)=T(3n/4)+nlogn,计算T(n)的时间复杂度
(3)证明顶点覆盖问题是NP完全问题

(1)寻找强连通分支,证明其正确性,时间复杂度
(2)在已有最小生成树的基础上,将随机一条边的权重变大,求新的最小生成树的更新算法。写出伪代码,证明其正确性。

(1)寻找最短路径的三个相关证明

1.最短路径的子路径也是最短路径

2.对于任意两个点间的所有最短路径,总有一条为有限长度

3.证明三角不等式

(大概是这三个,诶嘿)

(2)Floyd-Warshall算法(多源最短路径问题)说明其相关思想,补全(更新)邻接矩阵,并写出最短路径

(1)从左到右有n堆棋子,每堆棋子若干个,只能合并相邻堆的棋子,合并的花费为被合并棋子堆的棋子数。
现要把这n堆棋子合并为一堆,给出一个花费最小的算法。写出伪代码,证明其正确性。
(2)有一个区间集N,中间有若干段闭区间。有一个点集P(数集合),如果P含有的任意数字包含在一段闭区间内,则称该区间被击中。
最小击中集:如果对于N中的任意一个区间,P中都存在一个点可以击中该集合,且要求P中的点尽可能少。
给出一个算法,求P中最小有多少个点,写出伪代码,并证明其正确性。

(这里其实是还有一张图来帮忙理解的,可惜我没找到一样的问题,下面补个类似的)

类似问题:假设存在下面需要付费的广播台,以及广播台信号可以覆盖的地区。 如何选择最少的广播台,让所有的地区都可以接收到信号

类似问题

注:划线问题原题为英文(应该不止这两道,总之英文基本都能看懂,不会为难考生的)

猜你喜欢

转载自blog.csdn.net/qq_50861917/article/details/122113365