Welcome

首页 / 软件开发 / 数据结构与算法 / 矩阵连乘的算法问题

矩阵连乘的算法问题2014-10-08写给自己的话: 有时候虽然一道题懂做了,但是发现写解题报告时,要清楚把自己的思路描述出来却挺难的。做解题报告

不仅可以巩固、梳理知识,还可以加深理解。现在我还做得很不好, 一定要坚持! 加油!

矩阵链乘问题:

例子:

(下面第二个{P1应该是P2)

void MatrixChain(){int i, j, k, t; for(i = 1; i <= n; i++)m[i][i] = 0;//对角线赋值为0,是因为1个矩阵需做0次相乘 for(r=2; r<=n; ++r){for(i=1; i<=n-r+1; ++i){j=i+r-1;dp[i][j] = INF;// INF表示一个很大的数for(k=i; k<=j-1; ++k){int temp=dp[i][k]+dp[k+1][j]+arr[i-1]*arr[k]*arr[j]; // arr数组的下标从0开始 。如果从1开始,各加1 if(temp<dp[i][j])dp[i][j]=temp;}}}}
RQNOJ 矩阵链乘法

本文URL:http://www.bianceng.cn/Programming/sjjg/201410/45629.htm