貪心算法講解及例題


修改自:http://blog.csdn.net/a925907195/article/details/41314549


 

 

一、概念:

  貪心算法是指,在對問題求解時,總是做出在當前看來是最好的選擇也就是說,不從整體最優上加以考慮,他所做出的僅是在某種意義上的局部最優解

  貪心算法沒有固定的算法框架,算法設計的關鍵是貪心策略的選擇。必須注意的是,貪心算法不是對所有問題都能得到整體最優解,選擇的貪心策略必須具備無后效性,即某個狀態以后的過程不會影響以前的狀態,只與當前狀態有關

二、貪心算法的基本思路:

 

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

 

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

 

    3.對每一子問題求解,得到子問題的局部最優解。

 

    4.把子問題的解局部最優解合成原來解問題的一個解。
三、貪心算法適用的問題
貪心策略適用的前提是:局部最優策略能導致產生全局最優解。 實際上,貪心算法適用的情況很少。一般,對一個問題分析是否適用於貪心算法,可以先選擇該問題下的幾個實際數據進行分析,就可做出判斷。
四、例題分析:
1、背包問題:http://www.cnblogs.com/LuRenJiang/p/6978257.html(注:文章開頭給的博客的背包問題有錯誤,詳見本鏈接。)
2、均分紙牌:http://www.cnblogs.com/LuRenJiang/p/6978262.html
3、最大整數:http://www.cnblogs.com/LuRenJiang/p/6978265.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM