動態規劃之矩陣連乘積問題

2021-10-04 09:58:40 字數 878 閱讀 6986

如果對動態規劃概念不懂的同學請看這裡動態規劃原理

矩陣連乘積問題

m x n矩陣a與n x p矩陣b相乘需耗費的時間。

我們把mnp作為兩個矩陣相乘所需時間的測量值。

現在假設三個矩陣a、b和c的乘積,有兩種方式計算此乘積,那麼有(ab)c和a(bc)兩種方式計算此乘積。儘管兩種不同的計算順序所得的結果是相同的,但時間消耗會有很大差距。

矩陣連乘積問題定義:

給定n個矩陣,其中ai與ai+1是可乘的,i=1,2,……n-1。考察這n個矩陣的連乘積a1a2a3……an。

第二步:建立遞迴關係

構造最優解s[i][j]已經儲存了構造最優解足夠的資訊

void

tracebook

(int i,

int j)

}

時間複雜度

三重o(n)迴圈,工作量w(n)=o(n3)

備忘錄也是三重o(n)迴圈,工作量w(n)=o(n3)

最後追蹤解工作量o(n)

計算矩陣連乘積 動態規劃 c

題目描述 在科學計算中經常要計算矩陣的乘積。矩陣a和b可乘的條件是矩陣a的列數等於矩陣b的行數。若a是乙個p q的矩陣,b是乙個q r的矩陣,則其乘積c ab是乙個p r的矩陣。由該公式知計算c ab總共需要pqr次的數乘。其標準計算公式為 現在的問題是,給定n個矩陣。其中ai與ai 1是可乘的,i...

矩陣連乘積

m times n矩陣a與n times p矩陣b相乘需消耗o mnp 的時間。我們把mnp作為兩個矩陣用來相乘所需時間的測量值。在多個矩陣連乘的情況下,不同矩陣之間的計算順序不同結果雖然相同,但總共所需要的乘法數量不同。例子 a 2561 43 bigl begin 2 5 6 1 4 3 end...

計算矩陣連乘積

描述 在科學計算中經常要計算矩陣的乘積。矩陣a和b可乘的條件是矩陣a的列數等於矩陣b的行數。若a是乙個p q的矩陣,b是乙個q r的矩陣,則其乘積c ab是乙個p r的矩陣。計算c ab總共需要p q r次乘法。現在的問題是,給定n個矩陣。其中ai與ai 1是可乘的,i 1,2,n 1。要求計算出這...