贪心算法介绍:
- 贪心算法(贪婪算法)是指在对问题进行求解时,在每一步选择中都采取最好或最优(即最有利)的选择,从而希望能够导致结果是最好或者最优的算法。
- 贪心算法所得到的结果不一定是最优的结果(有时候会是最优解),但是都是相对于近似(接近)最优解的结果。
背包问题
题目:背包容量为32,物品为下表,求放入背包的物品的总最大价值。
物品 | A | B | C | D |
---|---|---|---|---|
价值 | 50 | 220 | 60 | 60 |
尺寸 | 5 | 20 | 10 | 12 |
比率 | 10 | 11 | 6 | 5 |
本题按照比率降序尽可能多放入物品,先考虑将比率最大的放入,直到不能放入再选择其他的。
代码参考https://www.jb51.net/article/129173.htm
function greedy(values, weights, capacity){
var returnValue = 0 //返回的总价值
var remainCapacity = capacity <