演算法第四章作業

2022-07-15 13:06:11 字數 1106 閱讀 9214

1.你對貪心演算法的理解

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

貪心演算法沒有固定的演算法框架,演算法設計的關鍵是貪心策略的選擇。但貪心演算法不是對所有問題都能得到整體最優解,要進行證明該貪心策略能滿足條件,且對後面的不受影響。

貪心演算法的基本思路:

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

2.對每一子問題求解,得到子問題的區域性最優解。

3.把子問題的解區域性最優解合成原來解問題的乙個解。

2.請選擇一道作業題目說明你的演算法滿足貪心選擇性質

4-2 貨幣找零 (30分)

人民幣的面值有100、50、20、10、5、2、1元。請你輸出找零紙幣數最少的方案

兩個整數,分別表示付款金額和消費金額

輸入找零方案。包含若干行,每行包含兩個數字,紙幣面額和紙幣數量

10 3

在這裡給出相應的輸出。例如:

5 1

2 1

#include#include

using

namespace

std;

int a[7] = ;

intmain()

return

0;

}

像在這裡,拿10塊錢,付3塊錢,找7塊錢,這個時候,最開始找了1張5塊錢,還剩2塊錢,進行了就變成這個問題,要找2塊錢的紙幣使得數量最小,滿足貪心選擇性質,分成若干小問題,都是在區域性上尋找最優解

3.請說明在本章學習過程中遇到的問題及結對程式設計的情況

答:最大的問題莫過於理解題意了,理解題意真的好難,要把它往貪心演算法上思考也好難,好不容易理解了又會有點刻板,一看到題,立馬搬上結構體和cmp函式,總而言之,還是題做得太少了,不過貪心演算法相比前兩章學的還說要好理解一點。

結對程式設計挺好的,感覺彼此都有在進步,我自己也能打出完整**了,每次老師提問都是選擇我來回答,我真害怕自己理解錯誤,或者是表述錯誤,影響進度,不過在同伴和老師的雙重影響下,我對上機要回答的那些題影響會更深一點,幾乎整段**都理解背下來了,這可要好好感謝我的同伴還有老師。

演算法第四章作業

1.我對貪心演算法的理解 貪心演算法是指,在對問題求解時,總是做出在當前看來是最好的選擇。也就是說,不從整體最優上加以考慮,他所做出的是在某種意義上的區域性最優解。貪心演算法不是對所有問題都能得到整體最優解,關鍵是貪心策略的選擇,選擇的貪心策略必須具備無後效性,即某個狀態以前的過程不會影響以後的狀態...

演算法第四章作業

一 對貪心演算法的理解 貪心演算法的基本要素是 貪心選擇性質和最優子結構性質 貪心選擇每次選取當前最優解,可以依賴以往的選擇,但絕不依賴於將來所做的選擇,也不依賴於子問題的解。貪心演算法通常以自頂向下的方式進行。二 汽車加油問題的貪心選擇性質 汽車應選擇在能到達的前提下離自己最遠的加油站進行加油 i...

演算法第四章作業

我的理解 主要是在貪心二字上面,但是重要的是在哪些方面上貪心,是解決題目的最重要的思路。因此要考慮貪心選擇性質和子結構性質 貪心選擇性質 從區域性的最優解擴充套件到整體的最優解 最優子結構性質 整體的最優解包含子問題的最優解 由於要計算汽車從起點到終點的最少加油次數 故,每次可以盡可能多的在滿油量內...