贪心算法实验-包装问题_第1页
贪心算法实验-包装问题_第2页
贪心算法实验-包装问题_第3页
贪心算法实验-包装问题_第4页
免费预览已结束,剩余1页可下载查看

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程名称:算法设计与分析 姓名实验序号:一、实验名称班级:学号实验日期 指导教师 实验成绩2013-10-28贪心算法实验-包装冋题二、实验目的及要求1、使用在线测评的算法题目评分系统来测试所写代码;2、通过直观的应用问题,加深对贪心算法的理解;三、实验环境任意C或C+编写调试工具,北京大学ICPC在线测评系统POJ四、实验内容1、登陆POJ系统,找到题号为1017的题目-包装;2、阅读题目,分析出求解该问题的思路;3、使用贪心算法,实现本题;4、进行简单测试,完成之后提交到POJ系统。五、算法描述及实验步骤贪心算法原理:贪心算法通过一系列的选择来达到子问题的解。它所做的每一步选择都是当 前状

2、态下局部最好选择,即贪心选择。这种启发式的策略虽不能总是奏效,但大 多数情况下确能达到预期目的,得到最优解。要使用贪心算法,问题必须具备两个基本要素。贪心选择性质和最优子结构 性质。贪心选择性质指所求问题的整体最优解可以通过一系列局部最优的选择, 即贪心选择来达到。通常采用自顶向下的方式进行,这样每做一次贪心选择就将 所求问题化为规模更小的子问题。当然,前提是所求问题本身的最优解包含其子 问题的最优解,即具有最优子结构性质。包装问题描述:有一个工厂生产一种长宽为 1*1、2*2、3*3、4*4、5*5、6*6的产品,这些 产品交付到客户手中都是用6*6的包裹包装。因为费用问题,工厂希望使用最少

3、 的包裹寄送给订购货物的客户。一个好的程序能够根据订单找到最少需要的包裹 数量。你被要求写这样一个程序。输入输入文件由若干行组成,每一行市一个订单,所有的订单都由6个整数组成, 分别对应1*1产品到6*6产品的需求量。输入文件的最后一行由 6个0组成。输出输出文件的每一行对应输入文件的每一行,它包含了最少需要的包裹数量。输入示例0 0 4 0 0 1 /4个3*3的产品和1个6*6的产品7 5 1 0 0 0 /7个1*1的产品、5个2*2的产品和1个3*3的产品0 0 0 0 0 0 /0 结束输出示例21/至少需要2个包裹/至少需要1个包裹实验步骤:1、建立包装问题的解题思路疋先本程序使用

4、贪心算法,也就是先给6*6的包装,在给5*5的包装, 如果有1*1的与5*5包装在一起,直到6*6的包裹空间用完,继续包装 4*4的,剩余的空间又可以包装2*2或者1*1的,3*3的一个包裹可以 装4个,如果没有4个可以装,再装2*2的或1*1的。最后在装2*2的, 1*1的。总的来说就是先让大的装,装了剩余的空间用可以装的产品再 装。2、构造算法框架 把65的分好把1*1分配在5*5里面把4的分好 把2*2的分在4*4的空间里面 把1的分在4*4的空间里 把6 5 43的分好 给2*2的分在3*3的空间如还有空间则把1分在3的空间3、分析出算法复杂度算法的复杂度为O(n log n)六、调试

5、过程及实验结果叫=C:wi ndoste m 3 ADebu g21.Ke0 9PressQ any6key to continue七、总结在动态规划算法中,每步所做的选择往往依赖于相关子问题的解。 因而只有 在解出相关子问题后,才能做出选择。而在贪心算法中,仅在当前状态下做出最 好的选择,即局部最优选择。八、附录#in clude#in clude#in cludevcstri ng int nu m4=0,5,3,1; int box7;int mai n()/freo pen (i np ut.txt,r,stdi n);while(1)int tmp=0;for(i nt i=1;ia2)an s+=(box2-a2+8)/9;int a仁a ns*36-box6*36-box5*25-box4*16-box3*9-box2*

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论