算法作業——第3章 動態規划


第3章 動態規划 習題

【+】閱讀、掌握課本經典范例代碼的實現:(1)矩陣連乘問題;(2)最長公共子序列;(3)最大子段和;(4)凸多邊形最優三角剖分;(5)背包問題。

【CH3 - 1】課本.算法分析題3 3-1。

【CH3 - 2】課本.算法分析題3 3-3。(提示:考慮背包問題)

【CH3 - 3】

  1. 下列算法中通常以自底向上的方式求解最優解的是( )。
    A.備忘錄法 B.動態規划法 C.貪心法 D.回溯法

  2. 備忘錄方法是( )算法的變形。
    A.分治法 B.回溯法 C.貪心法 D.動態規划法

  3. 下列是動態規划算法基本要素的是( )。
    A.定義最優解 B.構造最優解 C.算出最優解 D.子問題重疊性質

  4. 一個問題可用動態規划算法或貪心算法求解的關鍵特征是問題的( )。
    A.貪心選擇性質 B.重疊子問題 C.最優子結構性質 D.定義最優解

【CH3 - 4】簡述動態規划法的基本思路。

【CH3 - 5】簡述動態規划法與貪心法的異同。

【CH3 - 6】下列算法中哪些屬於動態規划算法?
(1)順序查找算法
(2)直接插入排序算法
(3)簡單選擇排序算法
(4)二路歸並排序算法

【CH3 - 7】某個問題對應的遞歸模型如下:
f(1)=1
f(2)=2
f(n)=f(n-1)+f(n-2)+…+f(1)+1 當 n>2 時

可以采用如下遞歸算法求解:

long f(int n)
{
if (n == 1) return 1;
if (n == 2) return 2;
long sum = 1;
for (int i = 1; i <= n - 1; i++)
sum += f(i);
return sum;
}

但其中存在大量的重復計算,請采用備忘錄方法求解。

*【CH3 - 8】一個機器人只能向下和向右移動,每次只能移動一步,設計一個算法求它從
(0,0)移動到(m,n)有多少條路徑。

image
image

image

image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM