矩阵链相乘Matchain

本文介绍了矩阵链相乘问题,探讨如何找到最小数量乘法次数来完成n个矩阵的相乘。以一个具体的例子M1(5*10)、M2(1*4)、M3(4*6)、M4(6*10)、M5(10*2)说明,通过Python代码实现求解过程。
摘要由CSDN通过智能技术生成
算法设计技巧与分析-动态规划

仅供自己学习......


输入:n个矩阵的链的维数对应于正整数数组r[1,2,....n]是n个矩阵的行数,r[n+1]是Mn的列数

输出:n个矩阵相乘的数量乘法的最小次数

例7.4:

M1:5*10,M2::1*4,M3:4*6,M4:6*10,M5:10*2

C[1,1]=0 C[1,2]=200 C[1,3]=320 C[1,4]=620 C[1,5]=348
 
C[2,2]=0 C[2,3]=240 C[2,4]=640 C[2,5]=248
    C[3,3]=0 C[3,4]=240 C[3,5]=168
      C[4,4]=0 C[4,5]=120
        C[5,5]

python代码如下:

#Matchain
def Matchain(C,n,r):
    kline=[[] for i 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值