《算法设计与分析》- 复习与习题.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《算法设计与分析》- 复习与习题

西安邮电大学计算机学院 复习与习题 (9)有一辆货车,货车有载重为 D,有 n 件货物,每个货物有重量 wi,价值 pi。问怎么装能够使装上货车的物品的总价值最大(使用动态规划算法) 【分析】“0-1”背包问题。 西安邮电大学计算机学院 复习与习题 第 4 章 贪心算法 (1)简述贪心法的基本思想。 (2) 西安邮电大学计算机学院 复习与习题 证明上述问题具有“贪心选择性质”和“最优子结构性质”。 西安邮电大学计算机学院 复习与习题 西安邮电大学计算机学院 复习与习题 (3)设 7 个独立作业 { 1,2,3,4,5,6,7 }由 3 台相同的机器 M1,M2,M3 加工处理。各作业所需的处理时间分别为{ 2,14,4,16,6,5,3 }。任何作业可以在任何一台机器上加工处理,但未完工前不允许中断处理。任何作业不能拆分成更小的子作业。按贪心算法产生作业调度,所需的加工时间为多少? 西安邮电大学计算机学院 复习与习题 作业数 n = 7 机器数 m = 3 所需的加工时间为 17。 西安邮电大学计算机学院 复习与习题 (4)某体育馆有一篮球球场出租,共有 10 位客户申请租用。每个客户申请租用的时间单元如下表所示,其中 i 表示客户编号,s(i) 表示开始租用时刻,f(i) 表示结束租用时刻。同一时刻该篮球球场只能租借给一位客户。请使用贪心算法设计一个租用安排方案,在这 10 位客户里面,使得体育馆能尽可能满足多位客户的需求。并计算出针对上表的 10 个客户申请,最多可以安排几位客户申请。 西安邮电大学计算机学院 复习与习题 【分析】这是一个活动安排问题。将这 10 位客户的申请按照结束时间 f(i)递增排序,如下表: (1)选择申请 1(1,4)。 (2)依次检查后续客户申请,只要与已选择的申请相容不冲突,则选择该申请。直到所有申请检查完毕。申请 4(5,7)、申请 8(8,11)、申请 10(11,13)。 (3)最后可以满足:申请 1(1,4)、申请 4(5,7)、申请 8(8,11)、申请 10(11,13)共4 个客户申请。这是可以满足的最大客户人数。 西安邮电大学计算机学院 复习与习题 (5)下列哪个问题不能用贪心法求解?( ) A.最优装载问题 B.活动安排问题 C.0-1背包问题 D.多机调度问题 【分析】答案为 C。 西安邮电大学计算机学院 复习与习题 (6)设有 n 个程序 {1,2,...,n} 要存放在长度为 L 的磁带上,程序 i 存放在磁带上的长度为 li, 1=i=n。确定这 n 个程序在磁带上的一个存储方案,使得能够在磁带上存储尽可能多的程序。 【分析】程序存储问题,类似“最优装载”问题。先对程序长度进行排序,然后用循环累加排序后的程序长度,并计数程序个数。解题时写出解题思想和基本的算法(代码)框架即可。 西安邮电大学计算机学院 复习与习题 第 5 章 回溯法 (1)回溯法解旅行商问题时的解空间树是( B )。 A、子集树 B、排列树 C、深度优先生成树 D、广度优先生成树 (2)下面哪种函数是回溯法中避免无效搜索采取的策略( C )。 A、递归函数 B、随机函数 C、剪枝函数 D、搜索函数 西安邮电大学计算机学院 复习与习题 (3)用回溯法搜索排列树的算法是什么? void Backtrack ( int t ) { if ( t n ) output( x ); { else for ( int i = t; i = n; i++ ) { swap( x[ t ], x[ i ] ); if ( Constraint( t ) Bound( t ) ) Backtrack( t + 1 ); swap( x[ t ], x[ i ] ); } } } 在调用 Backtrack( 1 ) 执行回溯搜索之前,先将变量数组 x 初始化为单位排列( 1, 2, ..., n )。 西安邮电大学计算机学院 复习与习题 (4)对批处理作业调度问题:作业需要机器处理时间的表如下,如果调度方案为:1,2,3,计算完成时间和。 西安邮电大学计算机学院 复习与习题 作业调度方案:1,2,3(必须考虑机器的空闲时间): 作业 1 在机器 1 上完成的时间为 2,在机器 2 上完成的时间为 3(2 + 1) 作业 2 在机器 1 上完成的时间为 5(2 + 3),在机器 2 上完成的时间为 6(5 + 1) 作业 3 在机器 1 上完成的时间为 7(2 + 3 + 2),在机器 2 上完成的时间为 10(7 + 3)

文档评论(0)

dajuhyy + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档