代码改变世界

动态规划之矩阵链

2015-11-03 22:50  放作夥  阅读(205)  评论(0编辑  收藏  举报

 

dp有很多个经典应用,矩阵链是其中一个。

 

对于我这种数学不好的人,需要回顾矩阵性质。

 

若矩阵A的维数是q,矩阵B的维数是r,则A与B相乘后所得矩阵AB的维数是r。按照矩阵相乘的定义,求出矩阵AB中的一个元素需要做q次乘法(及q-1次加法)。这样,要计算出AB就需要做r次乘法。由于加法比同样数量的乘法所用时间要少得多,故不考虑加法的计算量。

 

看下面一个例子,计算三个矩阵连乘{A1,A2,A3};维数分别为10*100 , 100*5 , 5*50

按此顺序计算需要的次数((A1*A2)*A3):10X100X5+10X5X50=7500次

 

 

 

待续~