1.演算法思想
假設乙個問題比較複雜,暫時找不到全域性最優解,那麼我們可以考慮把原問題拆成幾個小問題(分而治之思想),分別求每個小問題的最優解,再把這些「區域性最優解」疊起來,就「當作」整個問題的最優解了。
2.基本步驟
3.前提條件
4.問題分類
按序列任務分:按子任務來分解,即每一步都是在前一步的基礎上再選擇當前的最優解
按規模遞減分:規模較大的複雜問題,可以借助遞迴思想,分解成乙個規模小一點點的問題,迴圈解決,當最後一步的求解完成後就得到了所謂的「全域性最優解」。
按並行任務分:這種問題的任務不分先後,可能是並行的,可以分別求解後,再按一定的規則(比如某種配比公式)將其組合後得到最終解。
演算法基礎 貪心演算法
貪心演算法是常見的基礎演算法,它在求解問題時總想用當前看來最好的方法去實現,而到了下一步,再用下一步時最好的方法來解決,因此有了貪心的名字。此方法不從整體去考慮,僅是在某種意義上的區域性最優求解。雖然貪心演算法不是對所有的問題都能得到整體最優解,但是面對範圍相當廣泛的很多問題時,能產生整體最優解或是...
基礎演算法 貪心演算法
概述 貪心演算法是從問題的初始狀態出發,通過若干次的貪心選擇而得到的最優值的一種求解策略,即貪心策略。簡單來說,貪心策略是一種在每次決策時採取當前意義下最優策略的演算法,做出的選擇至少在某種約束條件下的區域性最優解或較優解,並不一定是全域性的最優解或較優解,但在某些特定的情況下,可以利用貪心演算法來...
演算法 貪心演算法
把乙個複雜問題分解為一系列較為簡單的區域性最優選擇,每乙個選擇都是對當前解的乙個擴充套件,知道獲得問題的完整解。在解決問題的策略上目光短淺,只根據當前已有的資訊做出選擇,而且一旦做出了選擇,不管將來有什麼結果這個選擇都不會改變。換言之,貪心法並不是從整體最優考慮,它所做出的選擇只是在某種意義上的區域...