貪心演算法筆記

2021-09-28 16:40:36 字數 511 閱讀 4167

貪心演算法總是作出在當前看來最好的選擇,所作出的選擇只是在某種意義上的區域性最優選擇。雖然貪心演算法不能對所有問題都得到整體最優解,但對許多問題它能產生整體最優解。如單源最短路經問題,最小生成樹問題等。在一些情況下,即使貪心演算法不能得到整體最優解,其最終結果卻是最優解的很好近似。

貪心演算法和動態規劃演算法的比較:

這兩種演算法都是選擇性演算法,就是從乙個候選集合中選擇適當的元素加入解集合。

貪心演算法的選擇策略即貪心選擇策略,通過對候選解按照一定的規則進行排序,然後就可以按照這個排好的順序進行選擇了,選擇過程中僅需確定當前元素是否要選取,與後面的元素是什麼沒有關係。

動態規劃的選擇策略是試探性的,每一步要試探所有的可行解並將結果儲存起來,最後通過回溯的方法確定最優解,其試探策略稱為決策過程。

共同點:

最優子結構性質是選擇類最優解都具有的性質,即全優一定包含局優

不同之處:

貪心演算法具有貪心選擇特性。貪心演算法求得區域性最優解(區域性最優,不一定是全域性最優)

動態規劃演算法從全域性最優考慮問題

貪心演算法 筆記

揹包相關問題。1.給出n 個物品,第i 個物體的重量為wi 選擇盡量多的物體,使得總重量不超過 c 按照物品重量從到小排序 2.部分揹包問題。有 n個物體,第 i 個物體的重量為wi 價值為vi 在總重量超過c的情況下讓總價值盡量高。按照 價值除以重量的值 排序 乘船問題。有 n 個人,第 i個人的...

筆記整合 貪心演算法

假設有乙個可以容納100kg物品的揹包,可以裝各種物品。有以下5種豆子,每種豆子的總量和總價值都各不相同。為了讓揹包中所裝物品的總價值最大,如何選擇在揹包中裝哪些豆子?每種豆子又該裝多少呢?只要先算一算每個物品的單價,按照單價由高到低依次來裝就好了。單價從高到低排列,依次是 黑豆 綠豆 紅豆 青豆 ...

leetcode 貪心演算法筆記

題目 此題的貪心演算法解法如下。def maxsubarray nums cur sum nums 0 max sum nums 0 for i in range 1 len nums cur sum max nums i cur sum nums i max sum max cur sum,max...