#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
const int msize = 100;
int p[msize];
int m[msize][msize],s[msize][msize];
int n;
void matrixchain()
{int i,j,r,k;memset(m,0,sizeof(m));  //初始化二维数组m 和 s memset(s,0,sizeof(s));for(r = 2; r <= n; r++)  //不同规模的子问题 {for(i = 1;i <= n-r+1; i++){j = i + r -1;m[i][j] = m[i+1][j] + p[i-1] * p[i] * p[j]; //决策为 k = i的乘法次数s[i][j] = i;   //子问题的最优策略是ifor(k = i+1; k < j; k++)  //对从i到j的所有决策,求最优值,记录最优策略 {int t = m[i][k] + m[k+1][j] + p[i-1] * p[k] * p[j];if(t < m[i][j]){m[i][j] = t;s[i][j] = k;} } } }
}void print(int i,int j){if(i == j){cout<< "A[" << i <<"]";return ;}cout << "(" ;print(i,s[i][j]);print(s[i][j]+1,j);cout<<")";}int main()
{cout<<"请输入矩阵的个数n: ";cin>>n;int i,j;cout<<"请依次输入每个矩阵的行数和最后一个矩阵的列数:" ;for(i = 0; i<= n;i++)cin>>p[i];matrixchain();print(1,n);cout<<endl;cout<< "最小计算量的值为 :"<< m[1][n] <<endl;
}

运行结果

算法导论——矩阵连乘相关推荐

  1. 矩阵链乘法 自顶向下 自底向上 Python 实现 算法导论

    算法导论 矩阵链乘法 自顶向下 自底向上 Python 实现 带备忘的自顶向下实现方式 def Memoized_Matrix_chain(p):n = len(p)m = [[0 for i in ...

  2. 《算法导论》——矩阵乘法的Strassen算法

    前言: 很多朋友看到我写的<算法导论>系列,可能会觉得云里雾里,不知所云.这里我再次说明,本系列博文时配合<算法导论>一书,给出该书涉及的算法的c++实现.请结合<算法导 ...

  3. 算法导论之单源最短路径

    单源最短路径,在现实中是很多应用的,是图的经典应用,比如在地图中找出两个点之间的最短距离.最小运费等.单源最短路径的问题:已知图G=(V,E),找出给定源顶点s∈V到每个顶点v∈V的最短路径.单源最短 ...

  4. 算法导论之图的基本算法

    图是一种数据结构,有关图的算法是计算机科学中基础性的算法.这个论述恰如其分. 图的基本算法包括图的表示方法和图的搜索方法.图的搜索技术是图算法领域的核心,有序地沿着图的边访问所有顶点,可以发现图的结构 ...

  5. 算法导论之贪心算法(Huffman编码和拟阵)

    贪心算法,在解决最优化问题上,通过得到子问题的局部最优解来合成问题的一个解,以局部最优选择来输出一个全局最优解. 问题要用贪心算法来求解,需满足和动态规划一样的最优子结构特征,同时还需要再每个子问题最 ...

  6. c语言大数相乘的算法_MIT 算法导论(三)

    标签:b站MIT算法导论课程的一些笔记,整理以(bu)后(hui)看 代码引用标记: 归并排序的C语言实现 第三节 分治法 分治法(Divide and conquer) 1) 分治法的步骤 把问题分 ...

  7. 你是如何坚持读完《算法导论》这本书的?(帖子收集)

    你是如何坚持读完<算法导论>这本书的? <算法导论>不够猛,答者顺便补充 "你是如何坚持读完<计算机编程的艺术>这本书的?" 罗必成: CLRS ...

  8. 矩阵相乘的strassen算法_矩阵乘法的Strassen算法+动态规划算法(矩阵链相乘和硬币问题)...

    矩阵乘法的Strassen 这个算法就是在矩阵乘法中采用分治法,能够有效的提高算法的效率. 先来看看咱们在高等代数中学的普通矩阵的乘法 两个矩阵相乘 上边这种普通求解方法的复杂度为: O(n3) 也称 ...

  9. 【啃不完的算法导论】- 动态规划 - 最长公共子序列(概念篇)

    以下内容纯是为了熟悉<算法导论>中的内容,高手可略过,其中涉及的书本内容的版权归原作者.译者.出版社所有 ========================================= ...

最新文章

  1. ce变速注入dll失败_[LAB]一种无痕Dll模块注入方式
  2. IDEA2021快捷键windows
  3. 数据机房建设常用材料有哪些?
  4. linux学习笔记4:linux的任务调度,进程管理,mysql的安装和使用,ssh工具的使用,linux网络编程...
  5. boost::dijkstra_shortest_paths用法的测试程序
  6. SAP Spartacus里如何查看HTTP请求的状态
  7. 江诗丹顿geneve系列_江诗丹顿的另一面
  8. Windowsx64位安装pymssql并完成与数据库链接
  9. MSVCRTD.lib(crtexew.obj) : error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainC
  10. 如何学好python基础_零基础如何学好Python开发?
  11. 探探经营范围变更:新增演出经纪和电信业务
  12. OpenJDK 中脏话太多,开发者看不下去了
  13. 前端学习笔记day14 移动盒子 封装函数
  14. 个人工作总结05(第二阶段)
  15. 程序员养生-人体白发的机制及治疗、调养恢复
  16. 微信小助手插件WeChatTweak
  17. matlab锂电池p2d模型,锂电池P2D模型基础:电荷守恒
  18. office 2016输入超过4阶矩阵
  19. python什么是形参?
  20. VC++游戏编程基础无法找到“d3d9.h”问题

热门文章

  1. 【ACWing】1884. COW
  2. Electron教程(六)应用菜单设置例子
  3. c语言large==1,非常实用的两个大小位置函数:LARGE函数和SMALL函数
  4. 多传感器信息融合笔记
  5. 47: 监控概述 、 Zabbix基础 、 Zabbix监控服 、 总结和答疑
  6. 网页宽度为多少才可以打印出A4纸
  7. AndroidStudio androidTest安卓测试 test单元测试(Junit)
  8. go test 初始化--- TestMain的使用
  9. iphone 开发杂文
  10. SAP中物料库存/需求及供应天数关系简析