问题描述
给定一系列矩阵
A=(Ai)N−1i=0
求他们的连续相乘结果
A=ΠN−1i=0Ai
寻找最优的相乘组合,使得计算 A 所需的时间复杂度最小。
问题分析
由于矩阵乘法要求两个相乘矩阵的维度满足:第一个矩阵的列数要与第二个矩阵的行数相同。所以我们只要用
动态规划求解
给定一个矩阵序列
如果你不想看分析过程可以直接看后面的算法实现部分。
如果我们用
C(ΠN−1i=0Ai)=min{
C(Πkm=0Am)+C(ΠN−1n=k+1An)+d0⋅dk+1⋅