问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

动态规划和备忘录法的区别

发布网友 发布时间:2022-03-24 06:02

我来回答

1个回答

热心网友 时间:2022-03-24 07:32

动态规划算法的基本要素:
1 最优子结构性质
当问题的最优解包含了其子问题的最优解时,称该问题具有最优子结构性质。
2 重叠子问题性质
动态规划算法对每个问题只解一次,将其解保存在一个表格中,当再次需要解此问题时,用常数时间查看一下结果。因此,用动态规划算法通常只需要多项式时间。
备忘录方法:
•用一个表格来保存已解决的子问题的答案,用的时候查表即可。
•采用的递归方式是自顶向下。
•控制结构与直接递归相同,区别在于备忘录方式为每个解过的子问题建立备忘录。
•初始化为每个子问题的记录存入一个特殊的值,表示并未求解。在求解过程中,查看相应记录如果是特殊值,表示未求解,否则只要取出该子问题的解答即可。
备忘录方法与动态规划和递归的区别:
1、动态规划是自低向上 ,备忘录方法是自顶向下,递归是自顶向下
2、动态规划每个子问题都要解一次,但不会求解重复子问题;备忘录方法只解哪些确实需要解的子问题;递归方法每个子问题都要解一次,包括重复子问题• 。
动态规划解矩阵连乘问题
#include<iostream>
using namespace std;
void metrixchain(int n,int p[],int **s,int **m)
{
for(int i=0;i<n;i++)
m[i][i]=0;
for(i=2;i<=n;i++) //小于等于n
{
for(int j=0;j<n-i+1;j++) //横坐标
{ int k=j+i-1; //纵坐标
m[j][k]=m[j+1][k]+p[j]*p[k+1]*p[j+1];s[j][k]=j;
for(int t=j+1;t<k;t++)
{
int u=m[j][t]+m[t+1][k]+p[j]*p[t+1]*p[k+1];
if(u<m[j][k])
{
m[j][k]=u;s[j][k]=t;
}
}
}
}
}
void Traceback(int i, int j, int ** s)
{
if (i==j||i==j-1) return;
cout<<"divide after metrix "<<s[i][j]<<endl;
Traceback(i, s[i][j], s);
Traceback(s[i][j]+1,j , s);
}

int main()
{
int p[]={30,35,15,5,10,20,25};
int **s=new int*[6];
for(int i=0;i<6;i++)
s[i]=new int[6];
int **m=new int*[6];
for( i=0;i<6;i++)
m[i]=new int[6];
metrixchain(6,p,s,m);
for( i=0;i<6;i++)
{ for( int j=i;j<6;j++)
cout<<m[i][j]<<" ";
cout<<endl;
}
Traceback(0,5,s);
return 0;
}追问简答题而已

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
右附件包块怎么治疗? 右侧附件区见混合性包块回声、大小约4 .9*4。8cm.包膜完整、内可见不... 网络学术资源网络学术资源的获取途径 请问:正式出版物一定是合法出版物吗? 正式出版发行的期刊有哪些 玉米莲藕排骨汤怎么做才好吃 电脑开机进入不了BOSS, 怎么关闭苹果手机的自动备份功能 钢结构制作与安装的阶段和要点 钢结构设计的基本概念、关键步骤和应用 动态规划原理(详细) 下面哪个不是动态规划的基本要素 动态规划 求动态规划的资料 算法分析与设计这门课程第三章动态规划的知识点有哪些? 什么是动态规划? 动态规划模型的构成要素有? 动态规划的基本要素 荣耀V20开不了机 自动关机的 按什么键都没有反应 手机电充足没root过? 荣耀的手机还能root吗? 我的荣耀V20丢了,现在已经切换成锁定模式!这样人家刷机能解开吗? 华为P30和荣耀V20还有小米9买哪个好。本人比较喜欢玩游戏。 荣耀20pro如何root 我的荣耀V20为什么不能刷机 荣耀20pro怎么root权限 荣耀20i可以root吗 荣耀20怎么root 荣耀V20root怎么获取 荣耀20怎么root? 华为荣耀V20手机,NFC功能不能模拟加密门禁卡,需要ROOT后才可以,请教怎么ROOT?怎么获取解锁码? 动态规划的概念 动态规划的基本概念 算法分析中动态规划的四个基本步骤 什么是动态规划?如何运用动态规划解决实际问题? 动态规划算法 通俗的讲解一下 动态规划的基本原理和递推方程 请总结或者综述一下动态规划的发展过程。 简述动态规划算法的基本范式 c++动态规划是什么? 动态规划法的原理 适合用动态规划方法求解的问题必须具备何种特征 手机怎么校准电池电量虚电 vivo虚电电池校正 苹果手机虚电量如何校正? oppo手机虚电怎么校正 荣耀手机虚电量校正 华为手机虚电量校正 oppo手机虚电量校正 黑鲨3手机虚电怎么校正 oppoa9手机出现虚电怎么校准?