C语言如何实现矩阵连乘
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,本篇内容主要讲解"C语言如何实现矩阵连乘",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"C语言如何实现矩阵连乘"吧!动态规划法题目描述:给定n个矩阵{A1,
千家信息网最后更新 2025年02月01日C语言如何实现矩阵连乘
本篇内容主要讲解"C语言如何实现矩阵连乘",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"C语言如何实现矩阵连乘"吧!
动态规划法
题目描述:给定n个矩阵{A1,A2....An},其中Ai与Ai+1是可以相乘的,判断这n个矩阵通过加括号的方式相乘,使得相乘的次数最少!
以矩阵链ABCD为例
按照矩阵链长度递增计算最优值
矩阵链长度为1时,分别计算出矩阵链A、B、C、D的最优值
矩阵链长度为2时,分别计算出矩阵链AB、BC、CD的最优值
矩阵链长度为3时,分别计算出矩阵链ABC、BCD的最优值
矩阵链长度为4时,计算出矩阵链ABCD的最优值
动归方程:
分析:
k为矩阵链断开的位置
d数组存放矩阵链计算的最优值,d[i][j]是以第i个矩阵为首,第j个矩阵为尾的矩阵链的最优值,i > 0
m数组内存放矩阵链的行列信息,m[i-1]和m[i]分别为第i个矩阵的行和列(i = 1、2、3...)
c语言实现代码:
#include#define N 20 void MatrixChain(int p[N],int n,int m[N][N],int s[N][N]){ int i,j,t,k; int r; //记录相乘的矩阵个数变量 for(i=1;i<=n;i++){ m[i][i]=0; //当一个矩阵相乘时,相乘次数为 0 } //矩阵个数从两个开始一次递增 for(r=2;r<=n;r++){ //从某个矩阵开始 for(i=1;i<=n-r+1;i++){ //到某个矩阵的结束 j=i+r-1; //拿到从 i 到 j 矩阵连乘的次数 m[i][j]=m[i+1][j]+p[i-1]*p[i]*p[j]; //拿到矩阵连乘断开的位置 s[i][j]=i; //寻找加括号不同,矩阵连乘次数的最小值,修改 m 数组,和断开的位置 s 数组 for(k=i+1;k 到此,相信大家对"C语言如何实现矩阵连乘"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
矩阵
次数
位置
数组
长度
语言
最小
个数
存储
内容
括号
学习
输入
不同
实用
更深
两个
代码
信息
兴趣
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
天行服务器干嘛用
自己搭建服务器如何盈利
拼图游戏数据库设计
阿里数据库的书
清远数据链软件开发费用
mc国际服为什么进不了服务器
计算机网络安全防护毕业论文
网络安全法规定应当为
java在网络安全中的应用
网络安全事件报送
河南洛水网络技术有限公司
微软软件开发团队
专硕有网络安全的学校
渝中区企业网络技术活动方案
卓别林网络安全宣传片
计算机网络技术学理论
网络安全进校园 方案
河北服务器托管大带宽虚拟主机
网络安全科普活动专题学习会
电机软件开发swot分析
数据库查询教学视频
虚拟云服务器搭建教程
新页医疗器械怎么备份数据库
计算机网络技术有什么证要考
徐汇区系统软件开发管理
高中信息技术剖析数据库教案
雄安比特云软件开发中心
网络订餐系数据库
南京智能软件开发项目信息
互联网科技对对政府的作用