java 0 1揹包問題 動態規劃解法

2021-06-26 21:34:12 字數 567 閱讀 2248

首先簡單的介紹一下0-1揹包問題:有乙個揹包,有一定的容量,有幾件物品,物品有重量和價值,選擇物品放到揹包中,使揹包的中的物品在揹包能夠裝下的條件下,價值最大。物品只有兩種選擇,裝入或者不裝入。

package ceshi;

public class beibao ;

int v = ;

int c =10;

int m;

int x;

m=fun(w,v,c);

x=bilesolution(m,w,c);

for(int i=0;isystem.out.println(x[i]+"  ");}}

public static int fun(int w,int v,int c)

for(j=1;jm[0][j]=0;

}for(i=1;i<=n;i++)}}

system.out.println(m[w.length][c]);

return m;

}public static int bilesolution(int m,int w,int c)else

}return x;}}

0 1揹包問題(動態規劃解)

有n件物品和乙個容量為v的揹包。第i件物品的重量是c i 價值是w i 求解將哪些物品裝入揹包可使這些物品的重量總和不超過揹包容量,且價值總和最大。該問題的特點是每種物品僅有一件,可以選擇放或不放。用f i v 乙個二維陣列 表示前i件物品恰放入乙個容量為v 這裡不是總容量v 的揹包可以獲得的最大價...

動態規劃解0 1揹包問題

1.問題概述 給定乙個揹包,容量為c,給定n件物品,第 i 件物品的體積為 wi 價值為 vi,現在求一種方案,將價值盡可能大的物品裝入揹包。2.問題分析 這是乙個求最優解的問題.即求 最優子結構性質 t i,j max t i,j 表示前 i 件物品放入容量為 j 的揹包的最大價值 證明 假設規模...

01揹包問題(java,動態規劃)

一 問題描述 01揹包即每個物品最多放乙個 01 揹包問題 給定 n 種物品和乙個容量為 c 的揹包,物品 i 的重量是 wi,其價值為 vi 問 應該如何選擇裝入揹包的物品,使得裝入揹包中的物品的總價值最大?二 理論解釋 宣告乙個 大小為 m n c 的二維陣列,m i j 表示 在面對第 i 件...