1. 问题

设A1,A2,…,A3为 n 个矩阵的序列,其中Ai为Pi-1×Pi阶矩阵,这个矩阵链的输入用向量P=<P0,P1,…,Pn>给出。给定向量 P,确定一种乘法次序,使得基本运算的总次数达到最小。

2. 解析

(1)蛮力法:枚举所有可能的乘法次序,针对每种次序计算基本运算的次数,从中找出具有最小
运算次数的乘法次序,每一种乘法次序对应了一种在 n 个项中加 n-1 对括号。
(2)动态规划法:
Ai…j: 表示矩阵链相乘的子问题AiAi+1…Aj;
M[i…j]:表示得到乘积Ai…j所用的最少基本运算次数;
假定,最后一次相乘发生在矩阵链Ai…k和Ak+1…j 之间,即
算法分析与设计实践-作业8-矩阵链乘法
(3)递归算法:
算法分析与设计实践-作业8-矩阵链乘法

3. 设计

算法分析与设计实践-作业8-矩阵链乘法

4. 分析

算法分析与设计实践-作业8-矩阵链乘法

5. 源码

https://github.com/kekekeQWQ/8

相关文章: