遞迴實現揹包問題
阿新 • • 發佈:2019-02-01
*揹包1,遞迴的揹包無法改成迴圈
*遞迴的解法
*遞推的解法(記錄遞迴)
*多約束條件的揹包問題
大體的框架就是:
try {
1.包含第i件物品
1.1 遞迴至底
1.2 產生一個新方案
===============================
2.不包含第i件物品
2.1 遞迴至底
2.2 產生一個新方案
}
實質上就是一顆滿二叉樹的中序遍歷。只不過中途要減去很多不滿足條件的分支。
root
| |
-- --
inc 1 N.inc1
| | | |
-- -- -- --
inc2 N.inc2 inc2 N.inc2
... ...
value 要求最大值 所以先全部加起來,再減去不合適的
weight 要求最小值 所以從0開始加上來