A.贪心算法比较动态规划易于编码
B.两种算法都要求问题存在最优子结构
C.贪心算法是期望通过所做的局部最优选择来产生全局最优解决方案
D.贪心算法是期望通过所做的局部最优选择来产生全局最优解决方案
假定要把长为的n个程序放在磁带T1和T2上,并且希望按照使最大检索时间取最小值的方式存放,即如果存放在T1和T2上的程序集合分别是A和B,则希中所选择的A和B使得取最小值.
贪心算法:开始将A和B都初始化为空,然后一次考虑一个程序.如果则将当前正在考虑的那个程序分配给A,否则分配给B.证明无论是按还是按的次序来考虑程序的,这种方法都不能产生最优解.应当采用什么策略?写出一个完整的算法并证明其正确性.
问题描述:给定一个赋权无向图G=(V,E),每个顶点都有权值w(v).如果,且对任意(u,V)∈E有u∈U或v∈U,就称U为图G的一个顶点覆盖.G的最小权顶点覆盖是指G中所含顶点权之和最小的顶点覆盖.
算法设计:对于给定的无向图G,设计一个优先队列式分支限界法,计算G的最小权顶点覆盖.
数据输入:由文件input.txt给出输入数据.第1行有2个正整数n和m,表示给定的图G有n个顶点和m条边,顶点编号为1,2,...,n.第2行有n个正整数表示n个顶点的权.接下来的m行中,每行有2个正整数u和v,表示图G的一条边(u,v).
结果输出:将计算的最小权顶点覆盖的顶点权值和以及最优解输出到文件output.txt.文件的第1行是最小权顶点覆盖顶点权之和;第2行是最优解xi(1≤i≤n),xi=0表示顶点i不在最小权顶点覆盖中,xi=1表示顶点i在最小权顶点覆盖中.
(1)写出可行区域D中的所有顶点;
(2)证明若一个线性规划问题在两个顶点上达到最优值,则此线性规划问题必有无穷多个最优解。
0-1背包问题描述如下;给定n种物品和一个背包.物品i的重量是wi,其价值为vi背包的容量为C.应如何选择装入背包的物品,使装入背包中物品的总价值最大?
在选择装入肯包的物品时,对每种物品i只有2种选择,即装入背包或不装入背包.不能将物品i装入背包多次,也不能只装入部分的物品i.
0-1背包问题形式化描述如下:给定,要求n元0-1向量,使得而且达到最大.
算法设计:对于给定的n种物品的重量和价值,以及背包的容量,计算可装入背包的最大价值.
数据输入:由文件input.txt给出输入数据.第1行有2个正整数n和c,n是物品数,c是背包的容量.接下来的1行中有n个正整数,表示物品的价值.第3行中有n个正整数,表示物品的重量.
结果输出:将计算的装入背包物品的最大价值和最优装入方案输出到文件output.txt