python矩阵连乘(动态规划)

上传者: 43869224 | 上传时间: 2022-04-09 22:20:38 | 文件大小: 826B | 文件类型: PY
【问题描述】使用动态规划算法解矩阵连乘问题,具体来说就是,依据其递归式自底向上的方式进行计算,在计算过程中,保存已子问题答案,每个子问题只解决一次,在后面计算需要时只要简单查一下得到其结果,从而避免大量的重复计算,最终得到多项式时间的算法。 【输入形式】在屏幕上输入第1个矩阵的行数和第1个矩阵到第n个矩阵的列数,各数间都以一个空格分隔。 【输出形式】矩阵m,其中m(i,j)中存放的是:计算A[i:j](其中1<=i<=j<=n)所需的最少数乘次数。 矩阵s,其中s[i][j]记录了断开的位置,即最优的加括号方式应为(A[i:s[i][j]])*(A[s[i][j]+1:j])。 矩阵连乘A1...An的最优计算次序。 【样例1输入】 30 35 15 5 10 20 25 【样例1输出】 [[ 0 15750 7875 9375 11875 15125] [ 0 0 2625 4375 7125 10500] [ 0 0 0 750 2500 5375] [ 0 0 0 0 1000 3500] [ 0 0 0 0 0 5000] [ 0 0 0 0 0 0]] [[0 1 1 3 3 3] [0 0 2 3 3 3] [0 0 0 3 3 3] [0 0 0 0 4 5] [0 0 0 0 0 5] [0 0 0 0 0 0]] ((A1(A2A3))((A4A5)A6)) 【样例说明】 输入:第1个矩阵的行数和第1个矩阵到第n个矩阵的列数,以空格分隔。 输出:矩阵m,s,和矩阵连乘的最优计算次序。

文件下载

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明