矩阵链乘法(动态规划)

本文详细介绍了矩阵链乘法的问题,探讨了如何通过动态规划找到矩阵相乘的最小运算次数。讨论了递推公式,并给出了计算和记录最小乘法次数的算法实现,同时提供了测试案例。
摘要由CSDN通过智能技术生成


1. 描述

给定由n个要相乘的矩阵构成的序列<A1, A2, ..., An>,要计算乘积

                                          A1A2...An            

矩阵的乘法满足结合率,然而不同的结合虽然运算结果一样,但需要运算的次数是不相同的,例如:设3个矩阵的维数分别为10x100,100x5,5x50。如果按((A1A2)A3)的次序相乘,共要做10x100x5 + 10x5x50 = 7500次乘法。如果按(A1(A2A3))的次序来计算,共要做100x5x50 + 10x100x50 = 50000此乘法,因此加括号的顺序很重要。

设矩阵Ai的维数为p[i - 1],i = 1,2,...,n。对乘积A1A2...An以一种最小化乘法运算次数的方法对其进行加全部括号。


2. 递推公式

设m[i][j]为AiAi+1...Aj的最小乘法次数(i,j = 1,2,...,n),则m[1][n]为最终结果,即A1A2...A

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值