矩阵链乘法问题
来源:互联网 发布:苹果手机数据备份 编辑:程序博客网 时间:2024/05/16 04:37
//矩阵链乘法(动态规划)//假设三个矩阵(m*n n*a a*b)相乘,那么输入A为{m,n,a,b}int matrix_chain_order(int* A, int size){int num = size-1;if(num == 0)return 0;if(num == 1)return A[0]*A[1];int ** p = new int*[num];p[0] = new int [num*num];memset(p[0],0,sizeof(int)*num*num);for(int i=1; i<=num-1; i++)p[i] = p[i-1] + num;for(int length = 2; length<=num; length++){//从底向上计算子链for(int i = 1; i<=num-length+1; i++){int j = i + length - 1; p[i-1][j-1] = 0x7fffffff;//将k在i和j之间移动,取最小的乘法代价for(int k = i; k<=j-1; k++){//p[i-1][k-1]为Ai乘到Ak的代价//p[k][j-1]为Ak+1乘到Aj的代价//A[i-1]*A[k]*A[j]为将以上两者相乘的代价(Ai的行数乘Ak的列数乘Aj的列数)int c = p[i-1][k-1] + p[k][j-1] + A[i-1]*A[k]*A[j];if(c< p[i-1][j-1]) p[i-1][j-1] = c;}}}int result = p[0][num-1];//释放数组delete[] p[0];delete p;return result;}
0 0
- 矩阵链乘法问题
- 矩阵链乘法问题
- 矩阵链的乘法问题
- 算法之矩阵链乘法问题
- Matrxi Chain Order(矩阵链乘法问题)
- 动态规划--矩阵链乘法问题
- 《算法导论》矩阵链乘法问题
- 矩阵的乘法问题
- 矩阵的乘法问题
- 问题 E: 矩阵乘法
- 一个矩阵乘法的问题
- 矩阵乘法的开销问题
- 矩阵链乘法
- 矩阵链乘法
- 矩阵链乘法
- 矩阵链乘法
- 矩阵链乘法
- 矩阵链乘法
- 在eclipse中创建maven项目
- 3年工作经验面试需要掌握的技术
- Comodo Dragon之模拟手机浏览器(iOS/Android)
- JVM初探- 内存分配、GC原理与垃圾收集器
- python中字符串定义、索引、切片、加号、星号操作实例
- 矩阵链乘法问题
- Android中的回调
- Bootstrap可编辑表格
- 修改 Android 5.1 默认设置
- Ubuntu搭建VPN服务
- 快速排序算法
- Definition of Machine Learning
- 解决Eclipse建Maven项目Dynamic web Module无法转换为2.5
- ajax回调时浏览器拦截window.open()