1. 程式人生 > >第三章實驗

第三章實驗

i+1 心得 str 收獲 疑惑 實踐 設計 時間 ron

1.實踐題目

答:數字三角形。

2.問題描述

答:給定一個由 n行數字組成的數字三角形如下圖所示。試設計一個算法,計算出從三角形 的頂至底的一條路徑(每一步可沿左斜線向下或右斜線向下),使該路徑經過的數字總和最大。

3.算法描述

答:for(int i = n - 2; i >= 0; i--){
for(int j = 0; j <= i + 1; j++){
if(a[i+1][j] > a[i+1][j+1])
a[i][j] = a[i][j] + a[i+1][j];
else a[i][j] = a[i][j] + a[i+1][j+1];
}
}

4.算法時間及空間復雜度分析(要有分析過程)

時間復雜度:算法內有兩個循環,則時間復雜度為O(n*n);

空間復雜度:算法內有兩個循環,需要的空間復雜度為O(n*n)

5.心得體會(對本次實踐收獲及疑惑進行總結)

答:上實驗課時沒有完成這道代碼,主要在於不知道怎麽用動態規劃算法,現在也只是半懂不懂。

第三章實驗