第三章演算法作業

熾熱發表於2020-11-01

1.單調遞增最長子序列

1.1 遞迴方程式:f[i] = max{f[j]}+1

1.2 表的維度是一維; 填表範圍是0到n;填表順序是從左到右

1.3 時間複雜度:O(n^2) 空間複雜度:O(n)

2.對動態規劃演算法的理解

使用動態規劃的問題特徵是最優子結構性質和重疊子問題性質,該演算法通常可以按以下幾個步驟進行:1.找出最優解的性質,並刻畫其結構特徵 2.遞迴的定義最優值 3.計算出各子結構的最優值;4.通常採用自底向上的方式根據計算最優值時得到的資訊,構造最優解

動態規劃思想與分治法類似,都是將問題分解為多個子問題,通過求解子問題來得到最終答案,而動態規劃的優勢在於,動態規劃防止了子問題的重複計算,每個問題只計算一次,自底向上地求出原問題的解。

3.結對程式設計情況

我感覺我和同伴也在慢慢的“輕車熟路”起來,兩個人都是先思考再交流各自的想法,但是對我來說最大的問題並不是做出程式碼,而是向對方還有老師講述自己的看法的時候,發現自己真的不善於去表達,這真的是個很大的問題,但是現在也慢慢的習慣起來了。

相關文章