Skip to content

Commit 2253270

Browse files
authored
Merge pull request #374 from joyeta148/master
Added Matrix Chain Multiplication code in C++
2 parents a5ddd9d + 5f78f22 commit 2253270

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

MatrixChainMultiplication.cpp

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#include<iostream>
2+
#include<limits.h>
3+
using namespace std;
4+
int MatrixChainMultiplication(int p[], int n){
5+
int m[n][n];
6+
int i, j, k, L, q;
7+
for (i=1; i<n; i++)
8+
m[i][i] = 0;
9+
for (L=2; L<n; L++){
10+
for (i=1; i<n-L+1; i++){
11+
j = i+L-1;
12+
m[i][j] = INT_MAX;
13+
for (k=i; k<=j-1; k++){
14+
q = m[i][k] + m[k+1][j] + p[i-1]*p[k]*p[j];
15+
if (q < m[i][j])
16+
m[i][j] = q;
17+
}
18+
}
19+
}
20+
return m[1][n-1];
21+
}
22+
int main(){
23+
int n,i;
24+
cout<<"Enter number of matrices: ";
25+
cin>>n;
26+
int arr[n];
27+
cout<<"\nEnter dimensions of all matrices:- \n";
28+
for(i=0;i<n;i++){
29+
cout<<"Enter Dimension d"<<i<<" : ";
30+
cin>>arr[i];
31+
}
32+
int size = sizeof(arr)/sizeof(arr[0]);
33+
cout<<"\nMinimum number of multiplications : "<<MatrixChainMultiplication(arr, size) <<"\n";
34+
return 0;
35+
}

0 commit comments

Comments
 (0)