問題描述:
有一批貨櫃要裝上一艘載重量為c的輪船,其中貨櫃i的重量為wi。最優裝載問題要求確定在裝載體積不受限制的情況下,將盡可能多的貨櫃裝上輪船。
分析:可用貪心演算法求解,採用重量最輕者先裝的貪心選擇策略,可產生最優裝載問題的最優解。具體演算法描述如下:
public static float loading(float c,floatw,intx)
return opt;
}public static class boxes implements comparable
public int compareto(object x) //覆寫comparable介面中的方法,方法名以及引數一定要一致
}總結:
1.本例演算法較為簡單,注意排序時應具有可比較性。
2.本例中貪心的實質是指,每次選擇時總是選擇重量最小的。
3.如何應用貪心演算法?(1)具有貪心選擇性。(2)具有最優子結構性質
碰到類似問題時,可以搜尋一下該類問題是否能夠用貪心演算法去解決。
最優裝載問題 貪心
問題描述 有一批貨櫃要裝上一艘載重量為c的輪船。其中貨櫃i的重量為wi。最優裝載問題要求確定在裝載體積不受限制的情況下,將盡可能多的貨櫃裝上輪船。程式設計任務 對於給定的n個貨櫃和輪船的載重量c,程式設計計算裝入最多時的貨櫃個數。輸入 輸入由多組測試資料組成。每組測試資料輸入的第1行中有2個正整數n...
貪心 最優裝載問題
有一批貨櫃 要裝上一艘載重量為 c的輪船。其中貨櫃 i的重量為wi 最優裝載問題要求確定 在裝載體積不受限制的情況下,將盡可能多的貨櫃裝上輪船。最優裝載問題問題的形式描述 問題的形式描述是 給定c 0,wi 0,1 i n,求n 元0 1向量 x1,x2,xn 使得 輸入 貨櫃的數目n,船的載重量c...
最優裝載 貪心
最優裝載問題可用貪心演算法求解。採用重量最輕者先裝的貪心選擇策略,可產生最優裝載問題的最優解。template class type void loading int x type w type c,int n include h using namespace std const int max ...