最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

JS基于贪心算法解决背包问题

来源:动视网 责编:小OO 时间:2020-11-27 20:10:30
文档

JS基于贪心算法解决背包问题

贪心算法:在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。寻找最优解的过程,目的是得到当前最优解。部分背包问题:固定容积的背包能放入物品的总最大价值。物品 A B C D。价格 50 220 60 60。尺寸 5 20 10 12。比率 10 11 6 5。按比例降序尽可能多放入物品。
推荐度:
导读贪心算法:在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。寻找最优解的过程,目的是得到当前最优解。部分背包问题:固定容积的背包能放入物品的总最大价值。物品 A B C D。价格 50 220 60 60。尺寸 5 20 10 12。比率 10 11 6 5。按比例降序尽可能多放入物品。


前面我们分享了关于js使用贪心算法解决找零问题,本文我们接着为大家介绍JS基于贪心算法解决背包问题。

贪心算法:在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。寻找最优解的过程,目的是得到当前最优解。

部分背包问题:固定容积的背包能放入物品的总最大价值

物品 A B C D
价格 50 220 60 60
尺寸 5 20 10 12
比率 10 11 6 5

按比例降序尽可能多放入物品

function greedy(values, weights, capacity){
 var returnValue = 0
 var remainCapacity = capacity
 var sortArray = []
 values.map((cur, index) =>{
 sortArray.push({
 'value': values[index],
 'weight': weights[index],
 'ratio': values[index]/weights[index]
 })
 })
 sortArray.sort(function(a, b){
 return b.ratio > a.ratio
 })
 console.log(sortArray)
 sortArray.map((cur,index) => {
 var num = parseInt(remainCapacity/cur.weight)
 console.log(num)
 remainCapacity -= num*cur.weight
 returnValue += num*cur.value
 })
 return returnValue
}
var items = ['A','B','C','D']
var values = [50,220,60,60]
var weights = [5,20,10,12]
var capacity = 32 //背包容积
greedy(values, weights, capacity) // 320

文档

JS基于贪心算法解决背包问题

贪心算法:在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。寻找最优解的过程,目的是得到当前最优解。部分背包问题:固定容积的背包能放入物品的总最大价值。物品 A B C D。价格 50 220 60 60。尺寸 5 20 10 12。比率 10 11 6 5。按比例降序尽可能多放入物品。
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top