資料結構與演算法簡記 貪心演算法

2022-06-30 14:09:09 字數 763 閱讀 1791

第一步,當我們看到這類問題的時候,首先要聯想到貪心演算法:針對一組資料,我們定義了限制值和期望值,希望從中選出幾個資料,在滿足限制值的情況下,期望值最大。

第二步,我們嘗試看下這個問題是否可以用貪心演算法解決:每次選擇當前情況下,在對限制值同等貢獻量的情況下,對期望值貢獻最大的資料。

第三步,我們舉幾個例子看下貪心演算法產生的結果是否是最優的

選出幾個孩子,在滿足其糖果大小需求的情況下,滿足的孩子最多。

每次選擇對糖果大小需求最小的孩子,給他最小的不小於其需求大小的糖果,直到不再有滿足。

選擇幾個紙幣,滿足總額k元,使用最少紙幣。

初始總額為k,每次選擇最大面值但不超過剩餘總額的紙幣,總額k減去此面值,再次選擇,直到總額減至0。

選擇幾個區間,滿足兩兩不相交,區間最多。

每次選擇滿足起點不與前區間相交,終點最小的區間,直到不再有滿足。

選擇幾個數字,滿足移除後,剩下數字值最小。

依次遍歷每位數字,每次選擇第乙個大於下一位的數字,將其移除,迴圈k次。

選擇n個人,按照一定的順序,滿足等待總時間最短

每次選擇服務時間最短的人優先服務,直到服務完成。

資料結構與演算法 貪心演算法

1 給定 n 種物品和乙個揹包,物品 i 的重量是 w i 其價值是 p i 揹包的容量為 c。設物品已按單位重量價值遞減的次序排序。每種物品不可以裝入揹包多次,但可以裝入部分的物品 i。揹包問題是選擇裝入揹包中的物品,在不超過揹包容量的前提下使揹包的得總價值最大。用貪心法設計與實現乙個演算法,求解...

資料結構與演算法 貪心演算法

定義每個古董重量 揹包問題 在對問題求解時,總是作出在當前看來是最好的選擇。也就是說,不從整體上加以考慮,它所作出的僅僅是在某種意義上的區域性最優解 是否是全域性最優,需要證明 有一天海盜們截獲了一艘裝滿各種各樣古董的貨船,每一件都價值連城,一旦打碎就是去了價值,海盜船載重量為c,每件固定的重量為w...

資料結構與演算法 貪心演算法

有如下場景 針對一組資料,我們定義了限制值和期望值,希望從中選出幾個資料,在滿足限制值的情況下,期望值最大。為了達到上述目的,貪心演算法是其中的乙個解決方案。例如,路徑選擇問題,從 s 城市至 e 城市,在只能路過 2 個城市的情況下,如何走的最短,如下圖所示 英文全稱 greedy algorit...