矩阵链乘问题——求最小乘数
来源:互联网 发布:哪个软件可以租到豪车 编辑:程序博客网 时间:2024/06/08 20:39
题目:
6个矩阵相乘,求需要乘法的最少数目。
A30X35 A35X15 A15X5 A5X10 A10X20 A20X25 (分别对应A1 A2 A3 A4 A5 A6, 后面是下标)
参考代码:
#include<stdio.h>
const int P[7]= {30,35,15,5,10,20,25};
const int length=6;
int m[7][7]={0}; // m[i][j] 代码第i个数乘到第j个数(第一个数为i=1)
int s[7][7]={0};
void Pri(int s[][7],int i,int j)
{
if(i==j)
printf("A%d",i);
else
{
printf("(");
Pri(s,i,s[i][j]);
printf(") (");
Pri(s,s[i][j]+1,j);
printf(") ");
}
}
int main()
{
int i,j,k;
int min;
i=j=k=0;
i=1;
for(i=1;i<=6;i++) //遍历共有多少个数
{
for(j=i;j>=1;j--)
{
if(i==j)
{
m[j][i]=0;
}
else
{
int temp;
min = 10000000;
for(k=j;k<i;k++)
{
temp= m[j][k]+m[k+1][i]+ P[j-1]*P[k]*P[i];
if(min>temp)
{
min=temp;
s[j][i] = k;
}
}
m[j][i]=min;
}
}
}
printf("%d\n",m[1][6]);
Pri(s,1,6);
return 0;
}
- 矩阵链乘问题——求最小乘数
- 最小矩阵链乘
- 矩阵链乘问题
- 小白笔记--------------------矩阵连乘问题(求怎么加括号运算量最小)
- 矩阵求导解最小二乘问题
- 矩阵求导解最小二乘问题
- 动态规划——矩阵链乘问题分析
- 动态规划—矩阵连乘问题
- 【C++】 动态规划—矩阵链乘
- 基于最小二乘的矩阵分解问题
- 数值计算——线性最小二乘问题
- 机器学习之—最小二乘问题
- 动态规划——矩阵连乘问题
- 动态规划——矩阵连乘问题
- 动态规划——矩阵连乘的问题
- 动态规划——矩阵连乘的问题
- 动态规划——矩阵连乘的问题
- 动态规划——矩阵连乘的问题
- Vxworks 进程间通信1--消息队列
- 流程图培训讲义
- VxWorks进程间通信2 -- 信号量
- C语言 最快的两数交换
- 生活管理实用技能
- 矩阵链乘问题——求最小乘数
- 嵌入式操作系统内核原理和开发(cpu的那些事)
- VxWorks进程通信0 -- 任务管理
- 执行带有输出参数的存储过程
- Android学习笔记(2)————Android四大组件之二(Service )
- 黑马程序员 java学习笔记-基础知识盘点
- vc++按钮应用大全
- selector in Objective-C
- sql 存储过程 几个 简单例子