程序设计基础12_1_贪心法.pptVIP

  • 5
  • 0
  • 约6.32千字
  • 约 34页
  • 2016-12-30 发布于湖北
  • 举报
12.1.3贪心法解题的一般步骤 上面三个任务所用的算法由一个共同点,就是在求最优解的过程中,每一步都采用一种局部最优的策略,把问题范围和规模逐渐缩小,最后把每一步的结果合并起来得到一个全局的最优解。 在例12.1中,每次选取删除的数字都是第一个递减区间的首位数字,也就是当前的删除可以保证在当前删除位数要求下的最优解,同时使剩下的数字串逐渐接近最后要求的目标最优解。 12.1.3贪心法解题的一般步骤 在例12.2中,每一次选取的时间都是满足条件的最早结束事件,向问题的解答前进一步,同时给剩余事件的选取留下了最多的不重叠时间;最后得到的事件序列,就是每一次选取的事件集合。 在例12.3中,每一步都将覆盖最大间隔的线段断开,使得线段总长度减少,同时使线段数目更接近最大数目限制;最后得到的最小线段总长度,其实是计算过程唯一确定的一种线段覆盖方式得到的。 归纳以上三个任务的求解过程,可以总结出运用贪心法解题的一般步骤是: 从问题的某个初始解出发; 采用循环语句,当可以向求解目标前进一步时,根据局部最优策略,得到一个部分解,缩小问题的范围或规模; 将所有部分解综合起来,得到问题的最终解。 第12章 贪心法与动态规划 12.1 贪 心 法 12.2 动 态 规 划 问题:假设有面值为5元、2元、1元、5角、2角、1角的货币,需要找给顾客4元6角现金,为使付出的货币的数量最少,应

文档评论(0)

1亿VIP精品文档

相关文档