B17李建辉算法设计实验的六

实用标准文案电子信息学院实验报告书:算法设计与分析名课程题目:实验六动态则实验类别【设计型】班级:BX1109学号:37姓名:李建辉评语:实验态度:认真()一般()较差()实验结果:正确()部分正确()错()实验理论:掌握()熟悉()了解()生疏()操作技能:较强()一般较差()实验报告:较好()一般()较差()成绩:指导教师:王淮亭实用标准文案1.实验目的(1)初步掌握动态规划算法(2)能够运用动态规划的思想解决实际问题,如矩阵连乘问题等2.实验要求(1)n个矩阵连乘问题。(2)应用顺推实现动态规划求解n行m列边数值矩阵最大的路程,已知n行m列的边数值矩阵,每一个点可向右或向下两个去向,试求左上角顶点到右下角顶点的所经边数值和最大的路程。(3)求解点数值矩阵最小路径,随机产生一个n行m列的整数矩阵,在整数矩阵中寻找从左上角至右下角,每步可向下(D)或向右(R)或斜向右下(O)的一条数值和最小的路径。(4)应用递推实现动态规划求解序列的最小子段和。(5)插入加号求最小值,在一个n位整数a中插入r个加号,将它分成r+1个整数,找出一种加号的插入方法,使得这r+1个整数的和最小。3.实验原理动态规划的基本思想:动态规划法的实质也是将较大问题分解为较小的同类子问题,这一点上它与分治法和贪心法类似。但动态规划法有自己的特点。分治法的子问题相互独立,相同的子问题被重复计算,动态规划法解决这种子问题重叠现象。贪心法要求针对问题设计最优量度标准,但这在很多情况下并不容易。动态规划法利用最优子结构,自底向上从子问题的最优解逐步构造出整个问题的最优解,动态规划则可以处理不具备贪心准则的问题4.实验设备PC机5.实验步骤(1)刻画最优解的结构特性;(2)递归定义最优解值;(3)以自底向上方式计算最优解值;(4)根据计算得到的信息构造一个最优解。其中,第(1)至(3)步是动态规划算法的基本步骤。最优解值是最优解的目标函数的值6.实验结果精彩文档.实用标准文案图6-1n个矩阵连乘问题图6-2应用顺推实现动态规划求解n行m列边数值矩阵最大的路程图6-3递推实现动态规划求解序列的最小子段和图6-4插入加号求最小值7.实验体会通过这次实验加深了我对动态规划算法的理解,通过这五个实验使我熟练掌握动态规划算法,使我对动态规划算法,分治法,贪心算法有了区别的认识,动态规划算法融合了分治法和贪心法的优点,更好的解决问题,实验有利于加深理论的理解,非常实用。附:源程序第一题源程序:#include<stdio.h>voidmain(){intd,n,i,j,k,t,r[100],m[100][100];瀠楲瑮?请输入矩阵的个数n:);精彩文档.实用标准文案scanf(%d,&n);瀠楲瑮?请输入第1个矩阵的行数:);scanf(%d,&r[1]);for(i=1;i<=n-1;i++)?灻楲瑮?请输入第%d个矩阵的列数,也是第%d个矩阵的行数:,i,i+1);scanf(%d,&r[i+1]);}瀠楲瑮?请输入第%d个矩阵的列数:,n);scanf(%d,&r[n+1]);for(i=1;i<=n;i++)m[i][i]=0;for(d=1;d<=n-1;d++)for(i=1;i<=n-d+1;i++){j=i+d;m[i][j]=m[i][i]+m[i+1][j]+r[i]*r[i+1]*r[j+1];for(k=i+1;k<j;k++){t=m[i][k]+m[k+1][j]+r[i]*r[k+1]*r[j+1];if(t<m[i][j])m[i][j]=t;}}printf(%d个矩阵连乘的乘法次数的最小值为:%d\n,n,m[1][n]);}第二题源程序:#includemath.h#include<stdio.h>voidmain(){intn,i,j,t,s;精彩文档.实用标准文案inta[50][50],l[50][50],r[50][50];charst[50][50];t=time()_x0010_00;srand(t);牰湩晴尨请输入数字三角形的行数n:);scanf(%d,&n);for(i=1;i<n;i++)j=rand();for(j=1;j<=33;j++)printf();printf(A\n);for(i=1;i<=n;i++){for(j=1;j<=37-4*i;j++)printf();for(j=1;j<=i;j++)printf(.);printf(\\n);for(j=1;j<=36-4*i;j++)printf();for(j=1;j<=i;j++){l[i][j]=rand()/1000+1;printf(M,l[i][j]);r[i][j]=rand()/1000+1;printf(M,r[i][j]);}printf(\);}for(j=1;j<=37-4*(n+1);j++)printf();for(j=1;j<=n+1;j++)printf(.);牰湩晴尨底边\n\n);for(i=n;i>=1;i--){for(j=1;j<=i;j++)if(a[i+1][j]+l[i][j]<a[i+1][j+1]+r[i][j]){a[i][j]=a[i+1][j]+l[i][j];st[i][j]='l';}else{a[i][j]=a[i+1][j+1]+r[i][j];st[i]...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

文秘专家
机构认证
内容提供者

1

确认删除?