貪心演算法:
總是作出當前看來最好的選擇。也就是說貪心演算法並不從整體最優考慮,他所做出的選擇只是在某種意義上的區域性最優選擇。但對許多問題它能產生整體最優解。在一些情況下,即使貪心演算法不能得到整體最優解,其最終結果卻是最優解的很好近似。
應用貪心思想的常用問題:單源最短路徑問題,最小生成樹問題,哈夫曼編碼問題。
整體最優解可以通過一系列區域性最優的選擇(即貪心選擇)來達到,這是貪心演算法的第乙個基本
要素,也是貪心演算法與動態規劃演算法的主要區別。動態規劃是自底向上的方式解決各子問題,而
貪心演算法則通常以自頂向下的方式進行。每做一次貪心選擇就將所求問題簡化為規模更小的問題
當乙個問題的最優解包含其子問題的最優解時,稱此問題具有最優子結構性質。問題的最優子結
構性質是該問題可用動態規劃或貪心演算法求解的關鍵特徵。
dp:01揹包問題
貪心:揹包問題
貪心演算法的一些基本問題:(感興趣的同學可以自己搜尋一下問題詳細了解貪心思想)
1.找零問題
2.揹包問題
3.拼接最大數字問題
4.活動選擇問題
貪心演算法詳解
一 基本概念 所謂貪心演算法是指,在對問題求解時,總是做出在當前看來是最好的選擇 也就是說,不從整體最優上加以考慮,他所做出的僅是在某種意義上的區域性最優解。貪心演算法沒有固定的演算法框架,演算法設計的關鍵是貪心策略的選擇。必須注意的是,貪心演算法不是對所有問題都能得到整體最優解,選擇的貪心策略必須...
貪心演算法詳解
一 簡介 1.1 貪心演算法基本思想 貪心演算法 又稱貪婪演算法 是指,在對問題求解時,總是做出在當前看來是最好的選擇。也就是說,不從整體最優上加以考慮,他所做出的是在某種意義上的區域性最優解。貪心演算法不是對所有問題都能得到整體最優解,關鍵是貪心策略的選擇,選擇的貪心策略必須具備無後效性,即某個狀...
經典貪心演算法 貪心演算法概述
貪心演算法具有最優子問題結構,它的特點是 短視 每次選擇對當前局面最有利的決策,來一步步獲得最優解。我個人認為,貪心不是乙個具體的方法,而是一類方法,貪心演算法的關鍵不在於想到,而在於正確性的證明。要證明乙個貪心演算法是正確的,需要證明我們可以把乙個最優解逐步轉化為我們用貪心演算法所得到的解,而解不...