1、问题
设A1,A2,...,An为n个矩阵的序列,其中Ai为P(i-1)×Pi阶矩阵,这个矩阵链的输入用P=<P0,P1,...,Pn>向量给出。
给定向量P,确定一种乘法次序,使得基本运算的总次数达到最小。
2、解析
3、设计
算法MatrixChain(n, p[], FILE* fo)
//输入:n表示矩阵个数,p[]表示矩阵链,fo表示文件
//输出:最终数据保存在文件中
m[][]←{0}
s[][]←{0}
for r=2,3,...,n
for i=1,2,...,n-(r-1)
for k=i,i+1,...,i+r-1-1
newM=m[i][k]+m[k+1][i+r-1]+p[i-1]*p[k]*p[i+r-1]
if(m[i][i+r-1]>newM)
m[i][i+r-1]>newM
4、分析
时间复杂度:O(n^3)