矩陣連乘問題的乙個具體實現

2021-06-16 22:33:13 字數 528 閱讀 9351

輸入: 連續相乘矩陣的總個數(不超過20),每個矩陣的維度(因為上乙個矩陣的列是下乙個矩陣的行,所以只需輸入乙個n+1維度的陣列即可)

輸出:最小計算量,以及加括號的方法

源**:

#include

using namespace std;

int arr[20][20]=;//儲存i到j之間的最小計算量

int split[20][20];//儲存劃分為二部分的矩陣位置

int dimension[21]=;//輸入矩陣的維度

int length=0;//矩陣連續乘的個數

void show1(int a,int b)

int t=split[a][b];

cout<<"(";

show1(a,t);

show1(t+1,b);

cout<<")";

}void show()

void main()}}

show();

::system("pause");

}

矩陣連乘問題 python實現

importnumpyasnp 求最優值 並記錄相關資訊 defmatrixchain p,n,m,s 單個矩陣連乘的次數 foriinrange n m i i 0 s i i 0 r 表示連乘的個數 從2開始 2 3 4 5 forrinrange 2,n 1 從第i個矩陣ai開始,長度為r,迴...

矩陣連乘問題 語言實現

矩陣連乘問題.eg.a1 a2 a3 a4 a5 a6,已知 各矩陣的維數 a1 30 35,a2 35 15,a3 15 5,a4 5 10,a5 10 20,則 int p a5 20 25 隱含的條件是 兩矩陣必須是相鄰兩個才能乘.求六個矩陣求其加括號的位置,從而使得連乘的次數最少.解 思想 ...

稀疏矩陣的乙個實現

include using namespace std template class linkedlist t find const t value void display const public t head int length template t linkedlist get int i...