演算法第三章作業

2022-07-12 04:48:10 字數 416 閱讀 2353

1、挖地雷

1.1 根據最優子結構性質,列出遞迴方程式。

f[ i ]=max(w[ i ]+f [ j ]) (1<=i<=n,1<=j其中,w[i]表示儲存對應地窖地雷數,a[i][j]表示記錄兩個地窖間是否有通路

1.2維度為一維,填表範圍為[1,n],填表順序為從n到1

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

空間複雜度:o(n^2)

2、動態規劃思想與分治法類似,都是將問題分解為多個子問題,通過求解子問題來得到最終答案,而動態規劃的不同之處在於,動態規劃防止了子問題的重複計算,每個問題只計算一次,用表記錄所有解決的子問題的答案,自底向上地求出原問題的解。

3、在結對程式設計過程中,剛開始時對動態規劃演算法不是很了解,於是和我的程式設計夥伴仔細看書,研究題目,再盡量去理解演算法思想,結合其他同學的建議和提醒,最終完成**。

演算法第三章作業

1.動態規劃是一種能夠減少重複運算的一種演算法,比較適合原問題能依賴於子問題解得,而子問題也能夠依賴於子子問題解得而出的問題。其次,動態規劃更適合於資料量較多的時候的一種演算法,當資料量沒有到達一定規模的時候,動態規劃演算法不能夠體現出足夠的優勢。如對於揹包問題的貪心演算法和動態規劃法 2.1 單調...

演算法第三章作業

我覺得動態規劃是一種分治法的偽高階型,它將乙個大問題可以分成若干個小問題後,解決子問題,然後將子問題的解插入到乙個表中,用乙個表來記錄所有的已經得到答案的子問題的解,後面就可以發現,無論子問題的解是否被用到,其都在表中,接著求問題便可以節省大量的時間。3 1m i 1 n 1 m i max 1 1...

演算法第三章作業

組員 高珞洋,何汶珊 之前在學習分治法的時候也有將其和動態規劃進行比較,動態規劃能夠解題的根本要求是原問題可以細分成子問題,且原問題的最優解必包含子問題的最優解。為了更明確上述條件,從而保證題目能夠運用動態規劃求解,通常需要兩步操作 明確問題具有最優子結構,並分解問題 找出遞推關係式 狀態轉移方程 ...