JS基于貪心算法解決背包問(wèn)題示例
本文實(shí)例講述了JS基于貪心算法解決背包問(wèn)題。分享給大家供大家參考,具體如下:
貪心算法:在對(duì)問(wèn)題求解時(shí),總是做出在當(dāng)前看來(lái)是最好的選擇。也就是說(shuō),不從整體最優(yōu)上加以考慮,他所做出的僅是在某種意義上的局部最優(yōu)解。
尋找最優(yōu)解的過(guò)程,目的是得到當(dāng)前最優(yōu)解
部分背包問(wèn)題:固定容積的背包能放入物品的總最大價(jià)值
物品 A B C D
價(jià)格 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
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》、《JavaScript排序算法總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》及《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
相關(guān)文章
把JS與CSS寫(xiě)在同一個(gè)文件里的書(shū)寫(xiě)方法
把JS與CSS寫(xiě)在同一個(gè)文件里的書(shū)寫(xiě)方法...2007-06-06JavaScript動(dòng)態(tài)數(shù)量的文件上傳控件
本文給大家分享一段js代碼關(guān)于動(dòng)態(tài)數(shù)量的文件上傳控件,代碼簡(jiǎn)單易懂,非常不錯(cuò)具有參考借鑒價(jià)值,感興趣的朋友一起看看2016-11-11uniapp中table表格設(shè)置寬度無(wú)效的原因以及解決方法
項(xiàng)目中遇到table表格單元格不整齊、錯(cuò)位等情況,下面這篇文章主要給大家介紹了關(guān)于uniapp中table表格設(shè)置寬度無(wú)效的原因以及解決方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-04-04用JavaScript實(shí)現(xiàn) 鐵甲無(wú)敵獎(jiǎng)門人 “開(kāi)口中”猜數(shù)游戲
JavaScript在常人看來(lái)都是門出不了廳堂的小語(yǔ)言,僅管它沒(méi)有明星語(yǔ)言的閃耀,但至少網(wǎng)頁(yè)的閃耀還是需要它的,同時(shí)它是一門很實(shí)用的語(yǔ)言。2009-10-10gameboy網(wǎng)頁(yè)闖關(guān)游戲(riddle webgame)--仿微信聊天的前端頁(yè)面設(shè)計(jì)和難點(diǎn)
本文講如何在網(wǎng)頁(yè)端實(shí)現(xiàn)一個(gè)仿微信的聊天窗口界面, 以及其中涉及到的一些技術(shù)點(diǎn). 對(duì)gameboy闖關(guān)游戲相關(guān)知識(shí)感興趣的朋友參考下2016-02-02