一、填空
1. 对函数f(n)=log(n!)和g(n)=n^1.05 ,比较他们的阶_________
2.下面关于模拟退火算法实现的关键技术问题的有_________
(1)初始温度(2)温度下降控制(3)领域定义(4)目标函数
3.皇后问题,每一个皇后的位置无任何规律,要求求得一个解即返回。下面合适的方法有______
(1)贪心算法(2)回溯算法(3)分支限界法(4)Las Vegas算法
4.对于以比较为基础的排序算法时间复杂度下界为_________
5.设Las Vegas算法获得解的概率为p(x)≥δ,0<δ<1,则调用k次算法后,获得解的概率为:_________。
二、判断
1. 旅行商问题存在多项式解决方案。( )
2. Monte Carlo算法总能求得一个解。( )
3. LC搜索原理是回溯法。( )
4. 禁忌搜索中,禁忌某些对象是为了避免邻域中的不可行解。( )
5. (不太记得了,但确实是八九十章的作业原题)
三、简答
1. 遗传算法的步骤。
2. 写出贪心近似算法,关于0/1背包的近似算法问题。
3.已知Hamilton圈问题是NPC问题,证明TSP判定问题是NPC问题。
4. 读程序,用迭代法分析快速傅里叶变换时间复杂度。
四、有n个进程p1,p2,..,pn,进程pi的开始时间为s[i],截止时间为d[i]。可以通过检测程序Test来测试正在运行的进程,Test每次测试时间很短,可以忽略不计,即,如果Test在时刻t测试,那么它将对满足s[i]<=t<=d[i]的所有进程同时取得测试数据。问:如何安排测试时刻,使得对每个进程至少测试一次,且Test测试的次数达到最少?设计算法并证明正确性,分析算法复杂度。
五、(双机调度问题)用两台处理机A和B处理n个作业。设第i个作业交给机器A处理时所需要的时间是a;,若由机器B来处理,则所需要的时间是b;。现在要求每个作业只能由一台机器处理,每台机器都不能同时处理两个作业。设计一个动态规划算法,使得这两台机器处理完这n个作业的时间最短(从任何一台机器开工到最后一台机器停工的总的时间)。
六、最佳调度问题:假设有n个任务要由k个可并行工作的机器来完成,完成任务i需要的时间为t。试设计一个分枝限界算法,找出完成这n个任务的最佳调度,使得完成全部任务的时间(从机器开始加工任务到最后停机的时间)最短。
希望能对大家有所帮助