矩阵连乘

本文详细介绍了矩阵连乘的算法思想,包括数据结构的定义,如m、s、p数组的作用,以及矩阵连乘过程的图解。此外,还提供了算法的源代码,帮助读者理解并实现矩阵的高效连乘操作。
摘要由CSDN通过智能技术生成

一、矩阵连乘算法基本思想

矩阵连乘是基于动态规划的问题。面对ABCDEF...这么多矩阵连乘,让你在其中添加括号使得这些矩阵所做的乘法次数最少。面对这么大的一个问题,我们肯定无从下手。那么如果给你两个矩阵,你是不是又会骂,傻X都会呢?是的,既然解决不了这么大的问题,我们可以从两个矩阵开始,也就是原问题的最小子问题。两个矩阵相差,不能讨论所谓的最小乘法次数,因为情况只有一种,但是它记录了两个矩阵直接的乘法次数。接下来我们面对的是三个矩阵相乘ABC,三个矩阵相乘最后的步骤肯定是2个矩阵相乘的结果和剩下的那个矩阵相乘。那么要想得到三个矩阵连乘最小值则必须是min((AB)*C的乘法次数,A*(BC)的乘法次数),三个矩阵也很容易,那么四个呢?ABCD,如果要想得到四个矩阵相乘必须是min(ABC这三个矩阵相乘的乘法次数的最小值*D   ,  A* (BCD)这矩阵乘法次数的最小值 ),而ABC,BCD相乘乘法次数的最小值都是可以由上一步得到的,这些小规模问题的解可以用数组记录,以后用到就可以直接取得答案了。这样我们对于一个庞大的问题就可以轻而易举的用程序解决了。

二、矩阵连乘的数据结构

m[i][j]二维数组:表示从第i个矩阵连乘到第j个矩阵的最小乘法次数;

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值