算法分析与设计homework_8

1.问题
矩阵链乘法,特别要求举例时采用不同于讲义的数据进行推导。

2.解析
设A1,A2,A3,…,An为n个矩阵的序列,其中Ai为Pi-1×Pi阶矩阵,这个矩阵链的输入用向量P=<P0,P1,P2,…,Pn>给出。
给定向量 P,确定一种乘法次序,使得基本运算的总次数达到最小。
例如,P=<2,4,6,8>,A1:2×4,A2:4×6,A3:6×8
1)(A1A2)A3=246+268
2)A1(A2A3)=248+468
Ai…j:表示矩阵链相乘的子问题Ai,Ai+1…Aj; M[i…j]:表示得到乘积Ai…j所用的最少基本运算次数;假设,最后一次相乘发生在矩阵链Ai…k和Ak+1…j之间,即
在这里插入图片描述
r为问题规模,n=3,i为起点=n-r+1,j为终点=i+r-1。
(1)r=1
m[1,1]=0;
m[2,2]=0;
m[3,3]=0;
(2)r=2,i=1,2;j=2,3
m[1,2]=246=48;
m[2,3]=468=192;
(3)r=3,i=1;j=3
m[1,3]=min{m[1,2]+m[3,3]+(A1A2)A3,m[1,1]+m[2,3]+A1(A2A3)};

3.设计
在这里插入图片描述
4.分析
T(n)=O(n3)

5.源码
https://github.com/951390752/Algorithm_analysis_and_design-homework/blob/main/homework_8/MatrixChain.cpp

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值