| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 矩阵连乘解决及代码实现 -> 正文阅读 |
|
[数据结构与算法]矩阵连乘解决及代码实现 |
作者:recommend-item-box type_blog clearfix |
矩阵连乘问题
分析如下:????????要计算n个矩阵,A1,A2,…,An,可利用动态规划进行解决。 ????????设m[1][n]为A1,A2,…,An连乘的计算量; ????????此问题符合最优子结构问题,即:当[A1,A2,…,An]构成最优的解,连乘次数最少,即m[1][n]最小,则其子问题[A1,A2,…,Ak]与[Ak+1,A2,…,An](k为常数,1<=k<n,)均为最优解。 ????????即m[1][n]=m[1][k]+m[k+1][n]+ P(1_) P(k)P(n);最小时m[1][k]最小,m[k+1][n]最小;
证明如下:?反证法:若[A1,A2,…,Ak]不是最优解,则可以找到另外的次序m_[1][k],使其乘法计算量少于[A1,A2,…,Ak]的乘法计算量m[1][k] ????????则有m_[1][n] < m[1][n]; ????????所以m[1][n]不是最小值 这与m[1][n]为最小值,[A1,A2,…,An]构成最优的解矛盾,故此不成立,原结论成立。 ????????2. 求解动态规划方程:当只有一个矩阵时,连乘次数m[1][1]=0; m[1][2] =? m[1][1]+m[2][2]+?P(1,k)?P(k)P(k+1,n) ?????? ?=? 0+0+?P(1,k)?P(k)P(k+1,n) ?????? ?=? P(1,k)?P(k)P(k+1,n) m[1][n]= m[1][n]=m[1][k]+m[k+1][n]+?P(1_)?P(k)P(n); 动态规划方程为: 程序截图为: ????????3. 源代码及注释:
? ? ? ? ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 7:33:59- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |