貪心演算法總結

2021-10-19 12:50:40 字數 805 閱讀 7280

最近準備刷貪心演算法的題,結果發現,很早之前就做過了,但是解決思路又不記得了,在這裡總結一下,還是跟著labuladong刷的

1.貪心演算法思路總結(參考的這篇部落格)

所謂貪心演算法是指,在對問題求解時,總是做出在

當前看來是最好的選擇

。也就是說,不從整體最優上加以考慮,他所做出的僅是在某種意義上的

區域性最優解。

思路:

1.建立數學模型來描述問題。

2.把求解的問題分成若干個子問題。

3.對每一子問題求解,得到子問題的區域性最優解。

4.把子問題的解區域性最優解合成原來解問題的乙個解。

2.區間摺疊問題

首先考慮特殊情況,例如輸入乙個空陣列。正常情況下,將區間按照結束的公升序排列

intervals.sort(key = lambda x:x[1])
判斷start和end有無交集,如果有的話就要移除乙個,如果沒有交集則更新end的值

2)用最少數量的箭引爆氣球(中等)

與上一題一樣,但是要注意邊界,這裡邊界一樣也可以刺破氣球。

3.尋找區域性最優解,判斷能夠順利完成任務

這類題需要思考的是是否區域性最優解就是全域性最優解。

1)分發餅乾:只要將餅乾和孩子按順序排好,依次滿足即可。

2)種植花朵:同樣種植花朵也是看最多能重多少花,只要從頭排到尾就可以,不需要動態規劃的思考。

總結 貪心演算法 貪心演算法入門總結

英語 greedy algorithm,又稱貪婪演算法,是一種在每一步選擇中都採取在當前狀態下最好或最優 即最有利 的選擇,從而希望導致結果是最好或最優的演算法。比如在旅行推銷員問題中,如果旅行員每次都選擇最近的城市,那這就是一種貪心演算法。貪心演算法在有最優子結構的問題中尤為有效。最優子結構的意思...

貪心演算法總結

第一套題主要用貪心演算法來解決問題,貪心演算法簡單來說就是從區域性最優解,進而求得整體最優解,其中難點就是選擇貪心標準,貪心標準的選擇選的巧妙問題就會變的很簡單,比如第一題搬桌子的題,就是把房間轉化為對應的走廊號,問題就簡化了很多。貪心演算法的題目有的可以很簡單的看出來,常見典型的題有,揹包問題,最...

貪心演算法總結

在求最優解問題的過程中,依據某種貪心標準,從問題的初始狀態出發,直接去求每一步的最優解,通過若干次的貪心選擇,最終得出整個問題的最優解,這種求解方法就是貪心演算法。從貪心演算法的定義可以看出,貪心演算法不是從整體上考慮問題,它所做出的選擇只是在某種意義上的區域性最優解,而由問題自身的特性決定了該題運...