本文实例讲述了JS基于贪心算法解决背包问题。分享给大家供大家参考,具体如下:
贪心算法:
在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。寻找最优解的过程,目的是得到当前最优解
部分背包问题:
固定容积的背包能放入物品的总最大价值物品 A B C D 价格 50 220 60 60 尺寸 5 20 10 12 比率 10 11 6 5
按比例降序尽可能多放入物品
{
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,capacity) // 320
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》及《》
希望本文所述对大家JavaScript程序设计有所帮助。
原文链接:https://www.f2er.com/js/35011.html