第一范文网 - 专业文章范例文档资料分享平台

动态规划算法分析实验报告

来源:用户分享 时间:2025/6/18 6:22:07 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

动态规划算法设计 一、实验内容 编程实现图示多段图的最短路径问题的动态规划算法。(源代码见附录A) 24 6 2 699 7 1 34 2 74 5 73 41 3 5 102 5 12 2 511 8 1186 11 二、实验目的及环境 实验目的: 1、理解动态规划算法的概念; 2、掌握动态规划算法的基本要素; 3、掌握设计动态规划算法的步骤; 4、通过应用范例学习动态规划算法的设计技巧与策略。 实验环境: WIN7 系统下VC++6.0环境 第 1 页 共 6 页

三、 实验分析与设计 采用动态规划算法的两个基本要素: 最优子结构性质:原问题的最优解包含了其子问题的最优解。 子问题的重叠性质:每次产生的子问题并不总是新问题,有些子问题被反复计算多次。 实验定义: #define n 12 /*定义顶点数*/ #define k 5 /*定义段数*/ void init(int cost [ ]) //初始化图 void fgraph(int cost [ ],int path[ ],int d[ ])向前递推算法求最短路径 void bgraph(int bcost[ ],int path1[ ],int d[ ])向后递推算法求最短路径 向前递推算法实现: { int r,j,temp,min; for(j=0;j<=n;j++) cost[j]=0; for(j=n-1;j>=1;j--) { temp=0; min=c[j][temp]+cost[temp]; //初始化最小值 for(r=0;r<=n;r++) { if(c[j][r]!=MAX) { if((c[j][r]+cost[r])

六、 附录 A

#include #include #include #include #define MAX 100 #define n 12 #define k 5 int c[n][n];

void init(int cost[]) { int i,j; for(i=0;i<13;i++) { for(j=0;j<13;j++) { c[i][j]=MAX; } } c[1][2]=9; c[1][3]=7;c[1][4]=3; c[1][5]=2; c[2][6]=4; c[2][7]=2; c[2][8]=1; c[3][6]=2; c[3][7]=7; c[4][8]=11; c[5][7]=11;c[5][8]=8; c[6][9]=6; c[6][10]=5; c[7][9]=4; c[7][10]=3; c[8][10]=5;c[8][11]=6; c[9][12]=4; c[10][12]=2; c[11][12]=5; }

void fgraph(int cost[],int path[],int d[]) { int r,j,temp,min; for(j=0;j<=n;j++) cost[j]=0; for(j=n-1;j>=1;j--) { temp=0; min=c[j][temp]+cost[temp]; for(r=0;r<=n;r++) { if(c[j][r]!=MAX)

第 4 页 共 6 页

{ if((c[j][r]+cost[r])

void bgraph(int bcost[],int path1[],int d[]) { int r,j,temp,min; for(j=0;j<=n;j++) bcost[j]=0; for(j=2;j<=n;j++) { temp=12; min=c[temp][j]+bcost[temp]; for(r=0;r<=n;r++) { if(c[r][j]!=MAX) { if((c[r][j]+bcost[r])=2;i--) { path1[i]=d[path1[i+1]]; }

第 5 页 共 6 页

搜索更多关于: 动态规划算法分析实验报告 的文档
动态规划算法分析实验报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c2k0u74btvd6trx11668p_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top