全球旧事资料 分类
约束时才将它加入子集树和活结点优先队列。当扩展到叶节点时为问题的最优值。3设计并实现所设计的算法。
4对比不同算法求解该问题的优劣。
这动态规划算法和贪心算法是用来分别解决不同类型的背包问题的,当一件背包物品可以分割的时候,使用贪心算法,按物品的单位体积的价值排序,从大到小取即可。当一件背包物品不可分割的时候,(因为不可分割,所以就算按物品的单位体积的价值大的先取也不一定是最优解)此时使用贪心是不对的,应使用动态规划。
设计方法动态规划
贪心方法回溯法分支限界法
时间复杂度Mi
c,2
O(2
)O(
2
)O(2

优点
缺点
可求得最优决策速度慢
序列
速度较快
很难得到最优解
能够得到最优解时间复杂度较高
速度较快,易求解占用内存大,效率
不高
5需要提交不同算法的实现代码和总结报告。
动态规划方法:
publicclassK
apsackpublicstaticvoidmai
Stri
gargsi
tvalue060100120i
tweigh0102030i
tweight50K
apsack1weightvalueweigh
f
publicstaticvoidK
apsack1i
tweighti
tvaluei
tweigh
i
tv
ewi
tvaluele
gthi
tw
ewi
tweighle
gthi
tc
ewi
tvaluele
gthweight1i
td
ewi
t100fori
ti0ivaluele
gthi
vivalueiwiweighifori
ti1ivaluele
gthifori
tk1kweightk
ifwikcikmaxci1kci1kwivi
elsecikci1k
Systemoutpri
tl
cvaluele
gth1weight
privatestatici
tmaxi
tii
tji
tkijijretur
k
贪心法:
publicclassGreedyK
apSackpublicstaticvoidmai
Stri
gargsi
tvalue060100120i
tweigh0102030i
tweight50K
apsack1weightvalueweigh
privatestaticvoidK
apsack1i
tweighti
tvi
twi
t
vle
gthdoubler
ewdouble
i
ti
dex
ewi
t
fori
ti0i
iridoublevidoublewi
fi
dexii按单位重量价值riviwi降序排列doubletemp0fori
ti0i
1i
fori
tji1j
jifrirjtempririrjrjtempi
txi
dexii
dexii
dexji
dexjx
排序后的重量和价值分别存到w1和v1中i
tw1
ewi
t
i
tv1
ewi
t
fori
ti0i
i
w1iwi
dexiv1ivi
dexiSystemoutpri
tl
ArraystoStri
gw1Systemoutpri
tl
ArraystoStri
gv1i
ts0包内现存货品的重量i
tvalue0包内现存货品总价值fori
ti0i
iifsw1iweight
valuev1isw1iSystemoutpri
tl
好听全球资料 返回顶部