演算法第四章作業

2022-07-09 11:39:21 字數 652 閱讀 6071

1.對貪心演算法的理解

貪心演算法總是做出當前看來是最好選擇,並不從整體最優上加以考慮,所做的選擇只是在某種意義上的區域性最優選擇。對於某些具有最優子結構性質的問題,可以用動態規劃演算法解決,但有時貪心演算法更簡單和直接。

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

題目:程式儲存問題

問題描述:對於給定的n個程式存放在磁帶上的長度,計算長度為l磁帶上最多可以儲存的程式數。

選擇的貪心演算法:按照程式長度從小到大將程式依次放在磁帶上直到磁帶長度不夠放。

演算法實現:

①將n個程式的長度存入陣列a中

②使用sort函式將陣列中的程式按照長度從小到大排序(sort函式預設從小到大排序,可以省略cmp)

③如果排完第i個程式,磁帶剩餘長度大於0,則將 a[i + 1] 更新為 a[i + 1] + a[i],已儲存的程式總數(sum)加1

④輸出sum

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

這一階段的結對程式設計和同伴配合得更默契了一點,對題目理解不夠清楚的時候會互相說自己的想法,選擇貪心演算法的時,在討論中會提出不同的演算法,兩個人考慮的角度多一些,也更容易找出反例推翻其中一些演算法,從而得到合適的貪心演算法。

演算法第四章作業

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

演算法第四章作業

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

演算法第四章作業

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