演算法 貪心法

2021-08-13 20:42:40 字數 542 閱讀 3429

動態規劃在某一步決定優化函式的最大或者最小值時候,需要考慮子問題的優化函式值,從中選出最優的結果。貪心法 也是多不判斷,不考慮子問題的計算結果, 根據當時情況採取「只顧眼前的」貪心策略決定取捨,工作量少於動態規劃很多,更具效率(可導致區域性最優化而不是全域性優化)
n項活動,使用同乙個禮堂問題

si 和 fi 為其開始和截止時間;

一般有三種思路:(此為正常化解決方案)

按照開始時間從小到大排序

反例 :

s1=0,f1=20;s2=2,f2=7;s3=8,f3=15;

此時僅可以選擇第乙個活動 第二個和第三個活動 其實是更好的選擇

按照活動占用時間從小到大排序

反例:s1=0,f1=8;s2=07,f2=9;s3=8,f3=15;

按照截止時間從小到大排序

這個是可以實現的

#includeint main()

return a[n];

}[

演算法 貪心法

感謝華北電力大學王墨玉老師的ppt 基礎知識 應用條件 最優子結構性質 原問題包含了其子問題的最優解 對於乙個問題可能會有不同的量度標準,選擇其中可以獲得最優解的量度標準是貪心法設計的核心問題 例題活動安排問題 可求得最優解 int greedyselector int s,int f,int a ...

python貪心法 演算法 貪心

貪心演算法也被稱為貪婪演算法,它是指在對問題求解時,總是做出在當前看來是最好的選擇。也就是說,不從整體最優上加以考慮,他所做出的是在某種意義上的區域性最優解。貪心演算法不是對所有問題都能得到整體最優解,關鍵是貪心策略的選擇,選擇的貪心策略必須具備無後效性,即某個狀態以前的過程不會影響以後的狀態,只與...

演算法學習 貪心法

只選擇乙個子問題 1.快2.不能保證獲得最優解,可以作為近似解,一般,在特殊情況下可保證最優解。3.適合於組合優化問題 貪心選擇策略 分解方案 s s0,c c0 部分解s,候選集c while complete s 解擴充套件 c c c中引數重新計算以及候選集調整 注意 實現時dist 的初始值...