版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验报告题目实验四贪心算法开课实验室:数学实验室指导老师:韩逢庆时间:2011.12学院:理学院 姓名:古月专业:信息与计算科学学号:09180230班级:2009级2班一、 实验目的1 .加深学生对贪心算法设计方法的基本思想、基本步骤、基本方法的理解与掌握;2. 提高学生利用课堂所学知识解决实际问题的能力;3. 提高学生综合应用所学知识解决实际问题的能力。二、实验内容题目见 P143416,4-23.三、实验要求(1)用分治法求解最少加油次数和最少硬币个数问题;(2 )再选择自己熟悉的其它方法求解本问题;(3)上机实现所设计的所有算法;四、实验过程设计(算法设计过程)(1)最少加油次数实验题
2、目一辆汽车加满油以后可以行使n公里,旅途中有若干个加油站,设计一个有效算法,指出应在哪些加油站停靠加油,使沿路加油次数最少。 并证明算法能产生一个最优解。过程设计 贪心算法总是作出在当前看来最好的选择。 也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部 最优选择。当然,希望贪心算法得到的最终结果也是整体最优的。虽 然贪心算法不能对所有问题都得到整体最优解,但对许多问题它能产生整体最优解。比如说最少加油次数的问题。在这个算法中,我采用 的贪心算法的策略。首先人机互动的设定加满油以后最长能够行使的 距离,然后输入了各个站点之间的距离,在程序的设计中,首先检查 了程序的可行性
3、。要是遇到当某两个站点之间的距离大于汽车一次加 油以后所能够行使的最大距离时,我们认为此问题是不可行的。这个 在实际情况中也是很容易理解的。 然后在满足可行性条件下,依次采 用贪心算法对问题得以实现。采用S这个来保存现在车里面留下的油, 当此时留下的有能够行驶完这一站点到下一站点之间的距离是,在这一站点的时候就不加油。但是若不能行使完这一段路程的时候,就加满油。核心算法如下:for(i=0,s=0;i Vn ;i+)s=s+ai;if(s>n)sum+;s=ai;(2)最少硬币个数问题实验题目考虑下面的用最少硬币个数找出 n分钱的问题:当使用2角5分,1角,5分和1分四种硬币面值时,设计
4、一个找 n 分钱的贪心算法,并证明算法能产生最优解。过程设计贪心算法总是作出在当前看来最好的选择。 也就是说贪心算法并不从 整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择。 当然,希望贪心算法得到的最终结果也是整体最优的。 虽然贪心算法 不能对所有问题都得到整体最优解,但对许多问题它能产生整体最优 解。比如说找最少硬币个数的问题。在算法的实现过程中,当剩余的 钱数大于2角5分时,我们在记录找2角5分硬币的个数的变量里面 加一,同时把剩余所找的钱的总数目也减 2角5分。不断重复这个过 程,直到剩余所需找的钱的数目小于 2角5分时,在记录找1角硬币 的个数的变量里面加一,同时把剩余所找
5、的钱的总数目也减 1角,不 断重复这个过程,直到剩余所需找的钱的数目小于 1角。5分和1分 的硬币实现过程同上述过程一样,一直执行到所剩的钱的数目为0,此时停止计算,得到最优解。五、实验结果分析(1)最少加油次数当加油后行驶的最大距离小于相邻站点的最小值时,此时,可行,求 解结果如下:11-GA,M吉设计和分析憾荀更DdIJg4 J&赴心6工H-口 牛冃冃201234567 uxwciw12345166 s禺 - -In 一一 -?7 VTk 王:以I为 6 N之之之之、N之油y IM1站站站站站站站站加C 12345678 P 静矿席4參至至至到到至l. a 由葫莎3占占占占占占占占
6、& S Q - S ? i - 20123456 7e7<L的的的的的的的C -:PJImTmi心日 一日 to当加油后行驶的最大距离大于相邻站点的最小值时,此时,没用可行性,为边沿情况,求解结果如下:设 并 分祈憶 1序gbug4-16"h肘 离 & 7巨 x 勺 o Wo N 和 虜 数 4行到 点以站 站为臺 的醫第 途点:_沿站一输4 入專次 输7途加一;y 2 643 TrXTrXTr 亠曷Iln = = = 一_ 一 o £ foK F “m m m JTTMm 一-CTr-(j到乙 占占占占占 1-i . 1234Si g.nS-.* =
7、b'elp'- y_Nato到到到JSB 6 -4 J占占占止 2 0 12 3 4 第(分析时空复杂性,设计测试用例及测试结果) 时间复杂性:该算法的时间复杂度为 O(n) 空间复杂性分析:该算法的空间复杂度为 0(1)(2)最少硬币问题当输入的找零钱数为正常的时候的运行情况如下:to COntinUe'G.R>设沪口分桁偉程序Cbugg-24心h也也1 1 0 e 緡有有有k 5 JBiB,B n .B 2 15 1 S JS P应PI"5算法设计和分析¾Debug4*24.ee-当输入的找零钱数为不正常的时候(为负)的运行情况如下:0为
8、数fil O wt »J A 0 fse 蹲鬻有有k S- / V- m 反 5 Ifflff'ffFl <5®角八各歳2 1 5 IS wes 什卤其苴其其Pr(分析时空复杂性,设计测试用例及测试结果)时间复杂性:该算法的时间复杂性为 O(n)空间复杂性分析:该算法的空间复杂性为 O(I)六、实验体会贪心算法总是作出在当前看来最好的选择。也就是说贪心算法并 不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选 择。当然,希望贪心算法得到的最终结果也是整体最优的。虽然贪心 算法不能对所有问题都得到整体最优解,但对许多问题它能产生整体 最优解。如单源最短
9、路经问题,最小生成树问题,相容活动安排问题等。这样和采用动态规划的算法相比,算法的思想更加的简单,实现起来更加的容易。但是也要明确贪心算法和动态规划的主要区别。及0-1背包问题可以用动态规划算法求解,但是贪心选择算法却不能用动态规划算法求 解。因为贪心算法无法最终将背包装满,部分闲置的背包空间使得每 公斤背包空间的价值降低了。七、附录:(源代码)(1)最少加油次数具体算法的实现如下:#i nclude<iostream.h>VOid mai n()int n,m,a100,i,s,sum=0,j;cout<<"请输入沿途的站点数和每一次加油以后可以行使的路程数
10、"v<endl;cin>>n;cin>>m;cout<<"沿途的站点数为:"<<n<<endl;cout<<"每加满一次油可以行使的路程数为"<<m<<endl;cout<<"请一次输入第零站到第N站之间的距离"v<endl;for(i=0;i<=n ;i+)cin> >ai;for( i=0;i<=n ;i+)cout<<"第"<<i&l
11、t;<"站到第"<<i+1<<"站之间的距离为"<<ai<<endl;for(j=0;j Vn ;j+)if(aj>m)Sum=-1;break;if(sum!=-1)for(i=0,s=0;i Vn ;i+)s=s+ai;if(s>n)sum+;s=ai;if(sum=-1)COutVv"没有可行性"<<endl;elseCOUtVv"沿途的最少加油次数为"v<sum<<endl;(2)最少硬币问题具体算法的实现如下:
12、#i nclude<iostream.h>mai n()double n,m,a,b,c,d,f;a=b=c=d=0;COUtV<"请输入应找的钱!"<<endl; cin>>n;if(n<=0)COUtV<"您输入的数据有错!"v<endl;m=n;while(m>=2.5)a+;m=m-2.5;while(m>=1)b+;m=m-1;while(m>=0.5)c+; m=m-0.5;while(m>=0.1)d+;m=m-0.1;f=a+b+c+d;COutV<"应找的最少的硬币个数为:"<<f<<endl; cout<v"其中 2 角 5 分的有"v<a<v"个"<<endl; COUtV
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024高考地理一轮复习第三部分区域可持续发展-重在综合第五章区际联系与区域协调发展第35讲产业转移课时作业含解析新人教版
- 小学一年级英语教学计划
- 2024年湖北三峡职业技术学院高职单招职业技能测验历年参考题库(频考版)含答案解析
- 八年级道德与法治上册第一次月考测试卷作业课件新人教版
- 2024年淄博师范高等专科学校高职单招语文历年参考题库含答案解析
- 2024年浙江经济职业技术学院高职单招语文历年参考题库含答案解析
- 高考生物一轮复习课时作业二十五通过激素的调节及神经调节与体液调节的关系课件
- 多电子原子课件-完整版
- gh-bladed计算载荷步骤
- 二零二五年生态湿地除草与水质净化合同3篇
- 赤峰市松山区王府镇水泉沟矿泉水2024年度矿山地质环境治理计划书
- 某年机关老干部工作总结
- 股骨干骨折(骨科)
- 租房定金协议电子版本
- 胸心外科细化标准
- 飞机拆解管理手册
- 农村文化建设培训
- 教科版六年级下册科学第一单元《小小工程师》教材分析及全部教案(定稿;共7课时)
- 身心灵疗愈行业报告
- 汽车安全与法规 (第3版) 课件 第1-3章 汽车安全技术概述、汽车安全技术法规与标准、汽车主动安全性
- 化学研究的前沿与新进展
评论
0/150
提交评论