貪心,最優裝載問題

2021-07-13 12:04:48 字數 527 閱讀 1553

問題描述:

有一批貨櫃要裝上一艘載重量為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 ...