貪心演算法是將乙個複雜問題分解成一系列簡單的區域性最優選擇,每一步選擇都是對當前解的擴充套件,直到獲得問題的完整解。貪心選擇只是某種意義上的區域性最優解,但是有時候這種區域性最優解並不是總能獲得整體最優解,但即使不能獲得整體最優解也能獲得近似最優解。
貪心演算法主要體現在乙個「貪」。在解決問題的策略上目光短淺,只根據當前已有的資訊做出選擇。而且一旦做出了選擇,不管將來有什麼結果,這個選擇都不會改變。
1、找到最優貪心策略(關鍵),貪心策略是只按照一定的順序進行一次選擇(如重量大,價值高等)。
2、證明貪心策略。證明貪心策略是否能獲得整體最優解。
使用貪心演算法的前提是通過區域性最優選擇能導致整體最優解,在考慮是否可以使用貪心演算法時要判斷在通過區域性最優選擇是否能產生整體最優解。
一、組合問題中的貪心法
1、部分揹包問題
2、活動安排問題
3、多機排程問題
二、圖問題中的貪心法
1、tsp問題
2、圖著色問題
3、最小生成樹之prim演算法
4、最小生成樹之kruskal演算法
4、單源點最短路徑
總結 貪心演算法 貪心演算法入門總結
英語 greedy algorithm,又稱貪婪演算法,是一種在每一步選擇中都採取在當前狀態下最好或最優 即最有利 的選擇,從而希望導致結果是最好或最優的演算法。比如在旅行推銷員問題中,如果旅行員每次都選擇最近的城市,那這就是一種貪心演算法。貪心演算法在有最優子結構的問題中尤為有效。最優子結構的意思...
貪心演算法總結
第一套題主要用貪心演算法來解決問題,貪心演算法簡單來說就是從區域性最優解,進而求得整體最優解,其中難點就是選擇貪心標準,貪心標準的選擇選的巧妙問題就會變的很簡單,比如第一題搬桌子的題,就是把房間轉化為對應的走廊號,問題就簡化了很多。貪心演算法的題目有的可以很簡單的看出來,常見典型的題有,揹包問題,最...
貪心演算法總結
在求最優解問題的過程中,依據某種貪心標準,從問題的初始狀態出發,直接去求每一步的最優解,通過若干次的貪心選擇,最終得出整個問題的最優解,這種求解方法就是貪心演算法。從貪心演算法的定義可以看出,貪心演算法不是從整體上考慮問題,它所做出的選擇只是在某種意義上的區域性最優解,而由問題自身的特性決定了該題運...