算法
文章平均质量分 78
xiaokuang513204
这个作者很懒,什么都没留下…
展开
-
部分背包问题(贪心)
<br />所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,所做出的仅是在某种意义上的局部最优解。<br /> 贪心算法不是对所有问题都能得到整体最优解,但对范围相当广泛的许多问题他能产生整体最优解或者是整体最优解的近似解。<br /> 贪心算法的基本思路如下:<br /> 1.建立数学模型来描述问题。<br /> 2.把求解的问题分成若干个子问题。<br /> 3.对每一子问题求解,得到子问题的局部最优解。<br /> 4.把子问题的解局部最转载 2010-11-08 11:05:00 · 1247 阅读 · 0 评论 -
0/1背包问题动态规划详解
动态规划是用空间换时间的一种方法的抽象。其关键是发现子问题和记录其结果。然后利用这些结果减轻运算量。比如01背包问题。/* 一个旅行者有一个最多能用M公斤的背包,现在有N件物品,它们的重量分别是W1,W2,...,Wn,它们的价值分别为P1,P2,...,Pn.若每种物品只有一件求旅行者能获得最大总价值。输入格式:M,NW1,P1W2,P2......输出格式: X */因为背包最大容量M未知。所以,我们的程序要从1到M一个一个的试。比如,开始任选N件物品的一个。看对应M的背包,能不能放进去,如果能放进去,转载 2010-11-08 11:08:00 · 3568 阅读 · 0 评论 -
0—1背包问题的回溯法
<br />【实验目的】<br />学习掌握回溯算法。<br /> <br />【实验内容】<br />用回溯法求解0—1背包问题,并输出问题的最优解。0—1背包问题描述如下:<br />给定n种物品和一背包。物品i的重量是Wi,其价值为Vi,背包的容量是c,问应如何选择装入背包中的物品,使得装入背包中物品的总价值最大。<br /> <br />【实验条件】<br />Microsoft Visual C++ 6.0<br /> <br />【需求分析】<br />对于给定n种物品和一背包。在容量最大值固定转载 2010-11-08 11:15:00 · 1375 阅读 · 0 评论