动态规划算法的应用(共5页).doc

上传人:飞****2 文档编号:14088016 上传时间:2022-05-02 格式:DOC 页数:5 大小:44.50KB
返回 下载 相关 举报
动态规划算法的应用(共5页).doc_第1页
第1页 / 共5页
动态规划算法的应用(共5页).doc_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《动态规划算法的应用(共5页).doc》由会员分享,可在线阅读,更多相关《动态规划算法的应用(共5页).doc(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上动态规划算法的应用一、 实验目的1掌握动态规划算法的基本思想,包括最优子结构性质和基于表格的最优值计算方法。2熟练掌握分阶段的和递推的最优子结构分析方法。3学会利用动态规划算法解决实际问题。二、 实验内容题目一:数塔问题给定一个数塔,其存储形式为如下所示的下三角矩阵。在此数塔中,从顶部出发,在每一节点可以选择向下走还是向右走,一直走到底层。请找出一条路径,使路径上的数值和最大。输入样例(数塔):915 10 6 82 18 9 519 7 10 4 16输出样例(最大路径和):59三、实验步骤(1) 需求分析通过动态规划法解决数塔问题。从顶部出发,在每一节点可以选择向

2、下或者向右走,一直走到底层,以找出一条数值最大的路径。(2) 概要设计本次实验程序主要用到二维数组,以及通过动态规划法进行比较每个数的大小。主要运用两个for循环语句实现动态规划。(3) 详细设计第一步,输入给定的二维数组并打印出相应的数组:int array55=9,/* */12,15,/* */10,6,8,/* */2,18,9,5,/* */19,7,10,4,6;int i,j;for(i=0;i5;i+)for(j=0;j5;j+)coutarrayij ;cout0;j-)for(i=0;iarrayji+1)arrayj-1i=arrayji+arrayj-1i;elsear

3、rayj-1i=arrayji+1+arrayj-1i;第三步,输出最大路径的值。coutarray00arrayji+1)Yif(arrayjiarrayji+1)arrayj-1i=arrayji+arrayj-1i;arrayj-1i=arrayji+1+arrayj-1i;输出结果array00(4) 调试分析 本实验刚开始时我从最后一行开始,每一个数都比较,然后找出最大的再与前一行相加,因此算出来的路径之始终小于59,经过反复验证,我两个数的比较,并修改循环方式,最后得出了正确答案。(5) 测试结果:四、实验总结通过本次实验,是我对动态规划这一方法有了更深的了解,和更加熟练的应用。虽

4、然过去编写程序是也经常用到动态规划这一方法,但是当时根本就不了解动态规划是什么,现在知道使用动态规划能够降低工程量并且更重要的是降低运行次数节省运行时间。五、附录:程序清单#include#includeusing namespace std;int main()int array55=9,/* */12,15,/* */10,6,8,/* */2,18,9,5,/* */19,7,10,4,6;int i,j;for(i=0;i5;i+)for(j=0;j5;j+)coutarrayij ;cout0;j-)for(i=0;iarrayji+1)arrayj-1i=arrayji+arrayj-1i;elsearrayj-1i=arrayji+1+arrayj-1i;coutarray00endl;return 0;专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁