




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 基于“计数单位”的小学数学数概念与运算的整体化教学研究-以苏教版教材为例
- 107.危重症患者团队决策能力协作考核
- 2024年环境监测全流程质量控制体系考核试卷
- 10.《短视频叙事节奏与情绪引导职业技能考核》
- 承包水果合同(标准版)
- 砖混施工合同(标准版)
- 2024年绥化市北林区劳动就业服务中心招聘公益性岗位真题
- 杭州市萧山区委统战部下属事业单位选调工作人员考试真题2024
- 全市场科技产业策略报告第112期:数字医疗细分领域之医疗社交平台当前现状和未来发展怎么看
- 考点攻克人教版八年级物理上册第6章质量与密度-质量定向训练试题(解析卷)
- 木质纤维素的生物分解及其转化技术
- 海康威视磁盘阵列使用说明精.选
- GB/T 7387-1999船用参比电极技术条件
- GB/T 39473-2020北斗卫星导航系统公开服务性能规范
- GB 16808-2008可燃气体报警控制器
- 公司有限空间作业安全专项排查表
- 高考英语衡水体字帖电子书
- 强度调制机理光纤传感器基本原理课件
- 《当代中国经济》第一章中国经济体制改革
- 《自强不息的人格修养》-课件1
- DB4403-T 54-2020 停车库(场)交通设施建设与管理规范-(高清现行)
评论
0/150
提交评论