用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;
}
}
}
上面题目运行效果如图,右上角元素即为所求