矩阵连乘的动态规划求解

2014-11-24 07:25:57 · 作者: · 浏览: 0

用wps写的一个小论文作业,顺便贴过来,公式不好编辑,直接上截图 = =||


\\


\

按照以上思路编码实现即可,注意求解顺序计算m[i][j]时,必须保证m[i][k]等元素已算出

void matrix_chain()
{
	int i, j, k, tmp;
	for (i = 1; i < N; i++)  // 步长
		for (j = 0; j + i < N; j++) //起点
		{
			M[j][j+i] = MAX;

			for (k = j ; k < j + i; k++)
			{
				tmp = M[j][k] + M[k+1][j+i] + index[j]*index[k+1]*index[j+i+1];
				if (tmp < M[j][j+i])
					M[j][j+i] = tmp;
			}
		}
}
上面题目运行效果如图,右上角元素即为所求