




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
信息工程大学算法设计与分析贪心法—过河问题国家级实验教学示范中心计算机学科组规划教材算法设计与分析Python案例详解微课视频版一群人在河的右岸,想通过唯一的一根独木桥走到河的左岸,过桥时必须借助灯光照明。独木桥最多能承受两个人,由于只有一盏灯,因此过桥时间等于较慢的那个人单独过桥所需要的时间。给定N个人(2<=N<1000)人单独过桥需要的时间,
请计算最少需要多少时间,他们才能全部到达河左岸。每个人的过河时间从小到大存储在t[i]中,i=0~n-1。按照问题规模从小到大进行分析:当n=1,2时,直接过河;当n=3时,需要两趟;n=3时,用时:t[0]+t[1]+t[2]1.最快的和最慢的(t[2])2.最快的返回(t[0])3.最快的和次慢的(t[1])按照问题规模从小到大进行分析:当n=1,2,3时,容易求解;当n较大时,把若干人送到对岸,再有人把灯拿回来,就可以转换为规模更小的过河问题。基于用时最少的要求,选择过河时间较快的人把灯拿回来。按照问题规模从小到大进行分析。当n=1,2,3时,容易求解;当n≥4时,将过河所需时间最多的两个人送到河对岸,有两种方式:方式一:用最快的逐人送用时:2*t[0]+t[n-1]+t[n-2]方式二:最慢和次慢的一起过河用时:t[0]+2*t[1]+t[n-1]1.最快的和最慢的(t[n-1])2.最快的返回(t[0])3.最快的和次慢的(t[n-2])4.最快的返回(t[0])1.最快的和次快的(t[1])2.最快的返回(t[0])3.最慢的和次慢的(t[n-1])4.次快的返回(t[1])贪心法求解过河问题的步骤:按从小到大的顺序对过河时间排序,存储到数组t中;当n>=4时,比较方式一和方式二的时间,选择用时少的(贪心选择策略),同时n=n-2;重复步骤2,直到人数不足4时,直接求解。sort(t,t+num);/*对过河时间从小到大排序*/voidwork(intn)/*贪心法求解n个人的过河问题*/{if(n==1){ans+=t[0];return;}if(n==2){ans+=t[1];return;}if(n==3){ans+=t[0]+t[1]+t[2];return;}if(n>=4){if((t[1]*2)>=(t[0]+t[n-2]))ans+=t[0]*2+t[n-2]+t[n-1];/*选择方式一*/elseans+=t[1]*2+t[0]+t[n-1];
/*选择方式二*/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 校医室结账管理办法
- 票务服务与管理办法
- 监管户资金管理办法
- 物业抗肺炎管理办法
- OEM付款管理办法
- 管城区游园管理办法
- 石家庄排污管理办法
- 高校社团管理办法
- 油榨街水务管理办法
- 物业分公司管理办法
- 食堂食品安全应急处置方案
- 抄核收技师题库
- 酒店住宿水单模板-可修改
- SX-600驻波功率计说明书
- (完整word版)中医学题库
- GB/T 27775-2011病媒生物综合管理技术规范城镇
- GB/T 16841-2008能量为300 keV~25 MeV电子束辐射加工装置剂量学导则
- GB/T 15585-1995热塑性塑料注射成型收缩率的测定
- 香港公司条例
- 2022年山东华鲁恒升集团有限公司招聘笔试题库及答案解析
- 生产岗位员工培训体系的建立.ppt
评论
0/150
提交评论