版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、算法设计与分析上 机 实 验 报 告专 业软件工程班 级软件1101学 号04113033学生姓名岳彦利完成日期2013-11-71. 上机题目及实验环境1.1上机题目:数字三角形问题1.2实验环境:CPU:英特尔 第二代酷睿i3-2330M 2.2GHz 双核内存:4G操作系统:windows 7软件平台:ubuntu2. 算法设计与分析小1)根据题意找出最优解的性质,并刻画出其结构特性。 2).以自底向上的方式计算出最优值。 3).根据计算最优值时得到的信息,构造最优解。 4).从倒数第二an-20 开始,将自己与下一行同列的数组相加在和自己与下一行下一列的数相加的结果比较,将大的存放在自
2、己中。 5).找到最大和之后,又从上往下找到组成这条最大和的路径。3. 核心代码 void maxsum(int (*a)max_num+10,int n)int i,j,max,t;int bn;FILE *fp1;for(i=n-1;i>=1;i-)/从倒数第二层向上求最大和for(j=1;j<=i;j+)if(aij+ai+1j)<(aij+ai+1j+1)aij=(aij+ai+1j+1);elseaij=(aij+ai+1j);if(a21<a22)/由最大和找第二层的路径t=2;max=a22;b1=a11-a22;elset=1;max=a21;b1=a1
3、1-a21;for(i=3;i<=n;i+)从第三层开始找最大和的路径知道第n层if(ait<ait+1)t=t+1;bi-1=max-ait;max=ait;elsebi-1=max-ait;max=ait;bn=ait;printf("路径:n");for(i=1;i<=n;i+)printf("%d ",bi);fp1=fopen("output.txt","wt"); if(fp1=NULL) printf("cannot open!"); exit(0); fprin
4、tf(fp1,"%d",a11);printf("noutput.txt:n");fp1=fopen("output.txt","r"); if(fp1=NULL) printf("cannot open!"); exit(0); / for(i=0;!feof(fp1);i+)/printf("");fscanf(fp1,"%d",&a11);printf("%dn",a11);4. 运行与调试 图一.写程序时遇到的问题 (路
5、径出错) 图二.修改后的正确结果 图三. 另一组数组测试 5. 结果分析和小结如图一,在写路径时最后一个数输出结果过错误,经过调试 ,发现路径循环是到倒数第二行为止的,经过修改输出正确结果如图二。如图二,第一行的数代表行数,从第二行开始想最后一行找一条和最大的路径,如图二。如图三, 另一组测试结果。(2)本次上机实验的收获、心得体会。这次的上机实验,使我对动态规划法有了更进一步的认识,编程的时候也有了更多的思路, 在编程之前一定把思路清晰,这样写的时候就比较轻松了。解决问题的时候,可以将带求解的问题分为若干子问题求解,保存子问题的结果,遇到下一个相同的子问题直接调用就可以了。可以大大节省时间,
6、从而更好的计算出结果,对找路径也有了另一种视野。附录(C/C+源代码)#include<stdio.h>#include<stdlib.h>#include<math.h>#include<time.h>#define max_num 100int amax_num+10max_num+10;void maxsum(int (*a)max_num+10,int n)int i,j,max,t;int bn;FILE *fp1;for(i=n-1;i>=1;i-)/从倒数第二层向上求最大和for(j=1;j<=i;j+)if(aij+a
7、i+1j)<(aij+ai+1j+1)aij=(aij+ai+1j+1);elseaij=(aij+ai+1j);if(a21<a22)/由最大和找第二层的路径t=2;max=a22;b1=a11-a22;elset=1;max=a21;b1=a11-a21;for(i=3;i<=n;i+)从第三层开始找最大和的路径知道第n层if(ait<ait+1)t=t+1;bi-1=max-ait;max=ait;elsebi-1=max-ait;max=ait;bn=ait;printf("路径:n");for(i=1;i<=n;i+)printf(&
8、quot;%d ",bi);fp1=fopen("output.txt","wt"); if(fp1=NULL) printf("cannot open!"); exit(0); fprintf(fp1,"%d",a11);printf("noutput.txt:n");fp1=fopen("output.txt","r"); if(fp1=NULL) printf("cannot open!"); exit(0); / fo
9、r(i=0;!feof(fp1);i+)/printf("");fscanf(fp1,"%d",&a11);printf("%dn",a11);main()int i,j;int n;FILE *fp;printf("input.txt:n");fp=fopen("input.txt","r");if(fp=NULL)printf("cannot open!");exit(0);fscanf(fp,"%d",&n);printf("%dn",n);for(i=1;i<=n;i+)/输出成到三角形式for(j=1;j<=i;j+) f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 唐山教资面试文化传播策略多元文化职业方向指南
- 外包技术支持工程师服务态度及行为规范手册
- 对常见问题的深度解析与应对策略优化建议
- 外贸业务员必-备技能与面试技巧实战案例分享
- 2025年山西大学招聘真题(行政管理岗)
- 2025年定西市教育局直属学校招聘真题
- 大客户经理销售激励方案设计
- 2025贵州安顺市西秀区双堡镇小城镇开发有限责任公司招聘总经理1人笔试历年参考题库附带答案详解
- 工程师职称评审工作指南与流程
- 客服客户满意度调查报告
- 心血管-肾脏-代谢综合征(CKM)综合管理中国专家共识2025解读课件
- 临时解除限高申请书
- 血液内科入科教育大纲
- 葡萄酒入门知识普及课件
- 肝硬化门静脉高压症食管、胃底静脉曲张破裂出血诊治专家共识(2024版)解读课件
- 脯氨酸加格列净片-药品临床应用解读
- 集中式太阳能光伏电站
- 艾滋病梅毒丙肝防治知识
- 【ADP】2025年薪酬的潜力:全球薪酬管理调研
- 口腔科护理工作总结
- 《人寿保险实务》课件
评论
0/150
提交评论