1.你對貪心演算法的理解
答: 所謂貪心演算法是指,在對問題求解時,總是做出在當前看來是最好的選擇。也就是說,不從整體最優上加以考慮,他所做出的僅是在某種意義上的區域性最優解。
貪心演算法沒有固定的演算法框架,演算法設計的關鍵是貪心策略的選擇。但貪心演算法不是對所有問題都能得到整體最優解,要進行證明該貪心策略能滿足條件,且對後面的不受影響。
貪心演算法的基本思路:
1.把求解的問題分成若干個子問題。
2.對每一子問題求解,得到子問題的區域性最優解。
3.把子問題的解區域性最優解合成原來解問題的乙個解。
2.請選擇一道作業題目說明你的演算法滿足貪心選擇性質
4-2 貨幣找零 (30分)
人民幣的面值有100、50、20、10、5、2、1元。請你輸出找零紙幣數最少的方案
兩個整數,分別表示付款金額和消費金額
輸入找零方案。包含若干行,每行包含兩個數字,紙幣面額和紙幣數量
10 3
在這裡給出相應的輸出。例如:
5 1
2 1
#include#includeusing
namespace
std;
int a[7] = ;
intmain()
return
0;
}
像在這裡,拿10塊錢,付3塊錢,找7塊錢,這個時候,最開始找了1張5塊錢,還剩2塊錢,進行了就變成這個問題,要找2塊錢的紙幣使得數量最小,滿足貪心選擇性質,分成若干小問題,都是在區域性上尋找最優解
3.請說明在本章學習過程中遇到的問題及結對程式設計的情況
答:最大的問題莫過於理解題意了,理解題意真的好難,要把它往貪心演算法上思考也好難,好不容易理解了又會有點刻板,一看到題,立馬搬上結構體和cmp函式,總而言之,還是題做得太少了,不過貪心演算法相比前兩章學的還說要好理解一點。
結對程式設計挺好的,感覺彼此都有在進步,我自己也能打出完整**了,每次老師提問都是選擇我來回答,我真害怕自己理解錯誤,或者是表述錯誤,影響進度,不過在同伴和老師的雙重影響下,我對上機要回答的那些題影響會更深一點,幾乎整段**都理解背下來了,這可要好好感謝我的同伴還有老師。
演算法第四章作業
1.我對貪心演算法的理解 貪心演算法是指,在對問題求解時,總是做出在當前看來是最好的選擇。也就是說,不從整體最優上加以考慮,他所做出的是在某種意義上的區域性最優解。貪心演算法不是對所有問題都能得到整體最優解,關鍵是貪心策略的選擇,選擇的貪心策略必須具備無後效性,即某個狀態以前的過程不會影響以後的狀態...
演算法第四章作業
一 對貪心演算法的理解 貪心演算法的基本要素是 貪心選擇性質和最優子結構性質 貪心選擇每次選取當前最優解,可以依賴以往的選擇,但絕不依賴於將來所做的選擇,也不依賴於子問題的解。貪心演算法通常以自頂向下的方式進行。二 汽車加油問題的貪心選擇性質 汽車應選擇在能到達的前提下離自己最遠的加油站進行加油 i...
演算法第四章作業
我的理解 主要是在貪心二字上面,但是重要的是在哪些方面上貪心,是解決題目的最重要的思路。因此要考慮貪心選擇性質和子結構性質 貪心選擇性質 從區域性的最優解擴充套件到整體的最優解 最優子結構性質 整體的最優解包含子問題的最優解 由於要計算汽車從起點到終點的最少加油次數 故,每次可以盡可能多的在滿油量內...