基础算法6贪心法.pptxVIP

  • 40
  • 0
  • 约6.37千字
  • 约 61页
  • 2020-02-28 发布于上海
  • 举报
贪 心 算 法;引入:;分析:要使总和最大,则每个数要尽可能大,自然应该选每行中最大的那个数。因此,我们设计出如下算法: 读入N, M,矩阵数据; Total := 0; For I := 1 to N do begin {对N行进行选择} 选择第I行最大的数,记为K; Total := Total + K; End; 输出最大总和Total;; 从上例中我们可以看出,和递推法相仿,贪心法也是从问题的某一个初始解出发,向给定的目标递推。但不同的是,推进的每一步不是依据某一固定的递推式,而是做一个局部的最优选择,即贪心选择(在例中,这种贪心选择表现为选择一行中的最大整数),这样,不断的将问题归纳为若干相似的子问题,最终产生出一个全局最优解。 特别注意的是,局部贪心的选择是否可以得出全局最优是能否采用贪心法的关键所在。对于能否使用贪心策略,应从理论上予以证明。;优点:一个正确的贪心算法拥有很多优点,比如思维复杂度低、代码量小、运行效率高、空间复杂度低等,是信息学竞赛中的一个有力武器。 缺点:集中表现在他的“非完美性”。通常我们很难找到一个简单可行并且保证正确的贪心思路,即使我们找到一个看上去很正确的贪心思路,也需要严格的正确性证明。这往往给我们直接使用贪心算法带来巨大的困难。;1、设计数据找规律 2、进行贪心猜想 3、正确性证明(严格证明和一般证明)

文档评论(0)

1亿VIP精品文档

相关文档