国科大刘yg计算机算法设计与分析2023年期末考题

本文涵盖了算法理论中的多个关键概念,如函数阶比较、模拟退火算法技术、解决皇后问题的方法、排序算法的时间复杂性、概率算法的运用,以及遗传算法、贪心算法、动态规划等实例。还讨论了旅行商问题、NPC问题和最佳调度问题的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、填空

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个任务的最佳调度,使得完成全部任务的时间(从机器开始加工任务到最后停机的时间)最短。

希望能对大家有所帮助

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值