版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机算法与设计实验内谷:贪心算法-最优装载问题描述:有一批集装箱要装上一艘载重量为c的轮船。其中集装箱i的重量为Wi,最优装载问题要求在装载体积不受限制的情况 下,将尽可能多的集装箱装上轮船。问题分析:该问题可形式化描述为:nmax、xii 4n' WjXj _c x 101訂 _i _ ni吕算法描述:最优装载问题可用贪心算法求解。采用重量最轻者先装的贪心选择策略,可产生最优装载问题的最优解。具体算法描述 如下:Templatevclass Type>Void Loadi ng(i nt x,Type w,Type c ,int n)int *t = new int n+1;
2、Sort(w,t ,n);for(i nt i =1;i<+n;i+)xi = 0;for (int i = 1;i<=n&&wtiv=c;i+)xti = 1;c-= wti;所需计算时间为0(nlogn)运行结果:'c:u5er5lj-zh a odocumentsvi s u a I studio 2010戸心£<5贪心算法%命小贪心算法£)«'='- EI> -39- r-lr -3? -33-另选一组数据输入:卸23/ 1 ,"":重为貝I I "重数口囂第第第
3、第第 兀入入入入入 "篁幫请谓请请请3 5 6 9 5 42 4 2 5 7 1 BBB一 量帘Gy量量 二B-.E'dlul _&_ 二 R1-=nl-_ 勺亘冒宜建亘建*£O -EllulkuluE隹ML長灵 .atttttt 12 3 4 5 645taabx不不装EEfhlju 巨匚g-L'-_bilU lull . 务 12 3 4 5 6 義MT第幕幕幕入人'结审'优装鼓可题""""""""""750141详细设计:#in
4、elude <iostream>using n amespace std;con st int N = 100;templatevclass Type>void Load in g(i ntx,Type w, Type c, int n)int *t = new int n+1;/Sort(w, t, n); / 调用 SelectSort函数for(i nt k=1; k<二n; k+)xk = 0;/初始化数组xfor(i nt i=1; i<=n && wtiv=c; i+)xti = 1;/经判断该集装箱可以装入c -= wti;/轮船可栽
5、重相应减少 templatevclass Type>void Sort(Type w,i nt *t,i nt n)Type tempArrayN+1,temp;int min;memcpy(tempArray,w,(n+1)*sizeof(Type);/将 w 数组数据拷贝到 数组tempArray中for(i nt e=1;e< 二n; e+)te = e;for(int i=1;i<n;i+) /类冒泡算法,将集装箱按重量从小到大排列min 二i;for(i nt j二i+1;jv 二n ;j+)if(tempArraymi n>tempArrayj)min二j;
6、Swap(tempArrayi,tempArraymi n);Swap(ti,tmi n);template vclass Type>void Swap(Type &x,Type &y) /swap 函数Type temp = x;x = y;y = temp;int mai n()float c ; l轮船总载重int xN+1;/装载结果(0与1分别表示是否装入int a ;/集装箱数量cout <<"/ 贪心算法求解最优装载问题 /"vvendl;coutvv"轮船载重为:"cin> >c;coutvv
7、"集装箱数量:"cin> >a;float *m = new float a;coutvv"待装物品的重量分别为:"<<e ndl;for(i nt i = 1;i<=a;i+)coutvv"请输入第"vvivv"个集装箱的重量:" ci n>> mi;cout«e ndl;coutvv"集装箱列表:"<<e ndl;for(i nt j=1; j<二a; j+)cout<<mjvv"t"coutvve ndl;Loadi ng(x,m,c,a);coutvv"对应的贪心选择结果为:"<<endl;for(i nt f=1; f<=a; f+)if(xf=0|xf=1)cout<<xfvv"t"coutvve ndl;coutvv"集装箱最优装载情况:"vvendl;for(i nt b=1; b
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 鱼塘养殖承包合同
- 弱电施工合同
- 防水工程施工合同
- DB4203∕T 149-2019“武当1号”猕猴桃生产技术规程
- 《 阿拉善盟基层国税机关企业所得税风险监管机制研究》范文
- 五年级数学(小数四则混合运算)计算题专项练习及答案汇编
- 2024年客运资格证考试内容及合格标准
- 2024年乌鲁木齐客运从业资格证实际操作考试内容是什么
- 五六年级体育与健康教学设计-4.1.2快速跑与发展体能 说课 |人教版
- 学校秋季实践教学总结计划
- 2024-2025学年部编版语文七年级上册 第一次月考试卷
- 2024广西专业技术人员继续教育公需科目参考答案(97分)
- 江苏省建筑与装饰工程计价定额(2014)电子表格版
- 《立体构成》PPT课件.ppt
- Excel股票交易记录表
- 日字格数字练习纸张打印
- 中心小学电教应用校本培训记录
- 学校办公信息化设备管理办法
- 团支书自我介绍规划竞选动态PPT
- 微量元素与疾病
- 东明万海氯碱10万吨年离子膜烧碱一次盐水精制方案的选择
评论
0/150
提交评论