- 一、判断题(2分*10)
- O低阶函数具有传递性、自反性、对称性
- o(g(n))∩ω(g(n))为空
忘了o大写小写了qwq - 对于一个实例问题,算法能正确地得到结果,那么就称这个算法能解决这个问题
回忆的感觉不是很精确,反正是考对算法解决问题的定义 - 贪心算法一定能得到最优解。
- T(n)=2T(⌊n/2⌋+17)+n T(n)=O(nlogn)
- 无向图G=(V,E)的最小生成树有|V|-1条边
- f(n)=o(g(n)) n→+∞时,g(n)和f(n)的差距微不足道
忘了o大写小写了qwq - 分治算法总时间复杂度=划分原问题的时间复杂度+求解子问题的时间复杂度
- 分支界限法、A*算法可以得到最优解
- 二分图G的最大匹配是完美匹配
- 二、简答题(4分*5)
- f(n)=6+20n 证明:f(n)∈O() f(n) ∉Ω()
- =O(3n)
- 用迭代法求解T(n)=T(3n/10)+5n
- 矩阵链乘的递归方程,并证明优化子结构
- 三、(10分)
序列<A,C,D,E,F,G,G,H>和<C,E,G,D,H,F,G,H,B>,求解最长公共子序列的递归方程,写出计算过程,用c[][]记录最长子序列的长度,b[][]记录最长子序列的来源,请写出伪代码。
- 四、(10分)
定义一个动态表,它的装载因子小于等于1/2,请写出扩张动态表的伪代码,分析时间复杂度,并在聚集法、会计法、势能法选其二进行平摊分析。
- 五、(12分)
小明想去旅游,矩阵表示旅游地可达的距离,小明想要一个走的距离最小的旅游方案,每个景点他都想去,写出计算过程。
10 6 6 10 8
3 ∞ 12 7 6
8 7 ∞ 14 20
5 13 9 ∞ 8
9 8 10 6 ∞
- 六、(13分)
给出一个n个整数构成的序列A1,A2,...,An,求最大连续和,即找要求找到1<=i<=j<=n,使得Ai+Ai+1+..+Aj最大。
- 利用分治法求解,要求写出伪代码和时间复杂度
- 写出线性时间复杂度的算法,并写出伪代码
- 七、(15分)
有C头奶牛进行日光浴,第i头奶牛需要minSPF[i]到maxSPF[i]单位强度之间的阳光。每头奶牛在日光浴前必须涂防晒霜,防晒霜有L种,涂上第i种之后,身体接收到的阳光强度就会稳定为SPF[i],第i种防晒霜有cover[i]瓶。利用贪心的思想设计求解最多可以满足多少头奶牛同时进行日光浴的算法。写出你设计的算法的伪代码,并证明可行性,时间复杂度
你说得对,但是《奶牛》是一款由哈工大计算学部自主研发的游戏,游戏发生在一个叫做算法考试的世界里。在这里,被选中的人将被授予防晒霜,自由的涂抹奶牛。你将扮演名为“学牲”的角色,在世界各地偶遇各种看不懂,学不会的算法,和他们携手努力,找回被抢走的分数,逐步发掘奶牛身上的“防晒霜涂抹”的秘密
回忆版仅供参考,祝大家在算法设计与分析这门课程中取得理想成绩~