DAA Worksheet Exp-2.1
DAA Worksheet Exp-2.1
Code and analyze to find an optimal solution to matrix chain multiplication using
dynamic programming.
3. Algorithm/Flowchart:
3. When we find a range (i, j) for which the value is already calculated, return the minimum
#include<climits>
int i,j,k;
int tempValue;
int dp[n+1][n+1];
for(i=1;i<=n;i++)
dp[i][i]=0;
for(int size=2;size<=n;size++)
for(i=1;i<=(n-size+1);i++)
j=i+size-1;
dp[i][j]=INT_MAX;
for(k=i;k<j;k++)
tempValue=dp[i][k]+dp[k+1][j]+order[i-1]*order[k]*order[j];
if(tempValue<dp[i][j])
{
dp[i][j]=tempValue;
return dp[1][n];
int main()
int i,j;
int n;
cin>>n;
int order[n+1];
cout<<"Enter the order array of the matrix chain ("<<n+1<<" elements): "<<endl;
for(i=0;i<=n;i++)
cin>>order[i];
cout<<endl;
return 0;
}
5. Observations/Discussions/ Complexity Analysis:
6. Result/Output/Writing Summary:
Learning Outcomes:-
1. Create a program keeping in mind the time complexity