3 貪心演算法的原理與設計

2022-09-06 15:51:15 字數 549 閱讀 1504

這個問題可以引用前面得到的活動選擇問題進行說明 ,如在活動選擇問題中,設aij

代表的是活動ai

​ 結束後開始,且在aj結束之前進的乙個子問題,於是

aij=aik+ak+akj

於我們將區間【i,j】活動的安排就變成了兩個子區間【i,k】和【k,j】的優化問題,這問題進行了變化。

但是如果我們如果採用貪心策略,先對活動的結束時間進行排序,也就是每次都優先選擇結束時間早

的問題,這樣,我們就將問題解化了,首先,我們不需要用區間來表示了,我們只要選擇活動就行了

,其次,我們只有一種選擇了,只剩下乙個子問題需要我們進行求解,也就是在剩下的活動中,再

次選擇結束時間最早且起始時間又符合我們要求的子問題。這樣選擇便只有乙個了。

2、證明貪心選擇後,問題總是存在最優解,即貪心總是安全的。

3、證明貪心選擇後,剩餘子問題滿足性質:其最優子解與貪心選擇組合後便得了原問題的最優解。

貪心演算法可能依覽之前做出的選擇,如活動安排問題,但是與後面做的選擇無關,也就是不依纜

之後的選擇。

來自為知筆記(wiz)

演算法設計與分析基礎3 貪心演算法

遞迴與分治演算法動態規劃貪心演算法回溯演算法貪心演算法的特徵是最優子結構性質和貪心選擇性質。最優子結構性質 原問題的最優解包含著子問題的最優解。貪心選擇性質 問題整體的最優解是通過一系列區域性的最優選擇得到的,這種選擇叫做貪心選擇。貪心選擇可以依賴於已經做過的選擇,但是絕對不會依賴於將來的選擇,也不...

貪心演算法原理

設計貪心演算法的三個步驟 將最優化問題轉化為這樣的形式 對其做出一次選擇後,只剩下乙個子問題需要求解 比較重要的一步 證明作出貪心選擇後,原問題總是存在最優解,即貪心選擇總是安全的 證明作出貪心選擇後,剩餘的子問題滿足性質 其最優解與貪心選擇組合即可得到原問題的最優解,這樣就得到了最優子結構 兩個關...

貪心演算法原理

使用貪心演算法需要具備兩個性質 貪心選擇性和最優子結構。貪心選擇性是指所求問題的整體最優解可以通過一系列可以通過一系列區域性最優的選擇來達到。他總是作出當前最好的選擇,該選擇可以依賴於之前的選擇,但絕不依賴於將來的選擇和子問題的選擇,這是他與動態規劃的重要區別。最優子結構是指乙個問題的最優解包含其子...