第1题
A.贪心算法比较动态规划易于编码
B.两种算法都要求问题存在最优子结构
C.贪心算法是期望通过所做的局部最优选择来产生全局最优解决方案
D.贪心算法是期望通过所做的局部最优选择来产生全局最优解决方案
第4题
假定要把长为的n个程序放在磁带T1和T2上,并且希望按照使最大检索时间取最小值的方式存放,即如果存放在T1和T2上的程序集合分别是A和B,则希中所选择的A和B使得取最小值.
贪心算法:开始将A和B都初始化为空,然后一次考虑一个程序.如果则将当前正在考虑的那个程序分配给A,否则分配给B.证明无论是按还是按的次序来考虑程序的,这种方法都不能产生最优解.应当采用什么策略?写出一个完整的算法并证明其正确性.
第6题
Ackermann函数A(m,n)可递归定义如下:
试设计一个计算A(m,n)的动态规划算法,该算法只占用O(m)空间(提示:用两个数组val[0:m]和ind[0:m],使得对任何i有val[i]=A(i,ind[i])).
第8题
算法设计:对于给定的k个待安排的活动,计算使用最少会场的时间表.
数据输入:由文件input.txt给出输入数据.第1行有1个正整数k,表示有k个待安排的活动.接下来的k行中,每行有2个正整数,分别表示k个待安排的活动的开始时间和结束时间.时间以0点开始的分钟计.
结果输出:将计算的最少会场数输出到文件output.txt.
第9题