欢迎来到天天文库
浏览记录
ID:58650381
大小:192.00 KB
页数:8页
时间:2020-10-16
《算法设计和分析试题(卷)与答案解析.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、湖南科技学院二○年学期期末考试 信息与计算科学专业年级《算法设计与分析》试题题号一二三四五总分统分人得分阅卷人复查人考试类型:开卷试卷类型:C卷考试时量:120分钟一、填空题(每小题3分,共计30分)1.用O、Ω和θ表示函数f与g之间的关系______________________________。2.算法的时间复杂性为,则算法的时间复杂性的阶为__________________________。3.快速排序算法的性能取决于______________________________。4.算法是______
2、_________________________________________________。5.在对问题的解空间树进行搜索的方法中,一个活结点最多有一次机会成为活结点的是_________________________。6.在算法的三种情况下的复杂性中,可操作性最好且最有实际价值的是_____情况下的时间复杂性。7.大Ω符号用来描述增长率的下限,这个下限的阶越___________,结果就越有价值。。8.____________________________是问题能用动态规划算法求解的前提。9.贪心
3、选择性质是指____________________________________________________________________________________________________________________。10.回溯法在问题的解空间树中,按______________策略,从根结点出发搜索解空间树。二、简答题(每小题10分,共计30分)1.试述回溯法的基本思想及用回溯法解题的步骤。2.有8个作业{1,2,…,8}要在由2台机器M1和M2组成的流水线上完成加工。每个作业加工
4、的顺序都是先在M1上加工,然后在M2上加工。M1和M2加工作业i所需的时间分别为:M110281269414M2571151631113作业12345678给出一个最优调度方案,使得从第一个作业在机器M1上开始加工,到最后一个作业在机器M2上加工完成所需的时间最少,并计算所需的最少时间。答:最优调度方案为所需的最少时间为:_______________________3.根据优先队列式分支限界法,求下图中从v1点到v9点的单源最短路径,请画出求得最优解的解空间树。要求中间被舍弃的结点用×标记,获得中间解的结点用
5、单圆圈○框起(如),最优解用双圆圈◎框起。三、算法填空(每空2分,共计10分)设R={r1,r2,...,rn}是要进行排列的n个元素,其中元素r1,r2,...,rn可能相同,试设计一个算法,列出R的所有不同排列,并给出不同排列的总数。算法如下,填写缺失的语句。templatevoidSwap(Type&a,Type&b){Typet=b;________________;//1a=t;}templateboolok(TypeR[],intk,inti)
6、{if(i>k)for(intt=k;tvoidPerm(TypeR[],intk,intn,int&sum){//n为元素个数,sum记录不同排列的总数if(k==n){______________________;//3for(inti=1;i<=n;i++)cout<<___________________;//4cout<7、r(inti=k;i<=n;i++)if(ok(R,k,i)){Swap(R[k],R[i]);Perm(_________________________);//5Swap(R[k],R[i]);}}}四、算法设计(共计15分)设有n个程序{1,2,3...,n}要存放在长度为L的磁带上。程序i存放在磁带上的长度是Li,1≤i≤n。程序存储问题要求确定这n个程序在磁带上的一个存储方案,使得能够在磁带上存储尽可能多的程序,在保证存储最多程序的前提下还要求磁带的利用率达到最大。(1)给出求解存储最多程序的算法,并8、证明算法的正确性;(2)给出求解使磁带的利用率达到最大的方案的算法思路。。五、算法设计(共计15分)通过键盘输入一个高精度的正整数n(n的有效位数≤240),去掉其中任意s个数字后,剩下的数字按原左右次序将组成一个新的正整数。对给定的n和s,寻找一种方案,使得剩下的数字组成的新最小。如输入n为,s为4,结果为13⑴简述你的算法思路;⑵给出算法(用C++描述)。注:正整数n存于字符串中,
7、r(inti=k;i<=n;i++)if(ok(R,k,i)){Swap(R[k],R[i]);Perm(_________________________);//5Swap(R[k],R[i]);}}}四、算法设计(共计15分)设有n个程序{1,2,3...,n}要存放在长度为L的磁带上。程序i存放在磁带上的长度是Li,1≤i≤n。程序存储问题要求确定这n个程序在磁带上的一个存储方案,使得能够在磁带上存储尽可能多的程序,在保证存储最多程序的前提下还要求磁带的利用率达到最大。(1)给出求解存储最多程序的算法,并
8、证明算法的正确性;(2)给出求解使磁带的利用率达到最大的方案的算法思路。。五、算法设计(共计15分)通过键盘输入一个高精度的正整数n(n的有效位数≤240),去掉其中任意s个数字后,剩下的数字按原左右次序将组成一个新的正整数。对给定的n和s,寻找一种方案,使得剩下的数字组成的新最小。如输入n为,s为4,结果为13⑴简述你的算法思路;⑵给出算法(用C++描述)。注:正整数n存于字符串中,
此文档下载收益归作者所有