兩個矩陣 Am*n 和 Bn*p 相乘,用基本的方法進行,則需要的乘法次數(shù)為 m*n*p。多個矩陣相乘滿足結(jié)合律,不同的乘法順序所需要的乘法次數(shù)不同。考慮采用動態(tài)規(guī)劃方法確定Mi,M(i+i),…,Mj 多個矩陣連乘的最優(yōu)順序,即所需要的乘法次數(shù)最少。最少乘法次數(shù)用 m[i,j]表示,其遞歸式定義為:
其中 i、 j 和 k 為矩陣下標,矩陣序列中 Mi 的維度為(Pi-1.)*Pi 采用自底向上的方法:實現(xiàn)該算法來確定 n 個矩陣相乘的順序,其時間復(fù)雜度為( )。若四個矩陣 M1、 M2、 M3、M4相乘的維度序列為 2、 6、 3、 10、3,采用上述算法求解,則乘法次數(shù)為( )。
A.O(N2)
B.O(N2Lgn)
C.O(N3)
D.O(n3lgn)
A.156
B.144
C.180
D.360