C++c语言贪心算法.pptVIP

  • 3
  • 0
  • 约2.4千字
  • 约 15页
  • 2017-08-26 发布于安徽
  • 举报
本次课程的主要内容 贪心算法 1、什么是贪心算法: 贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,但对范围相当广泛的许多问题他能产生整体最优解或者是整体最优解的近似解。 2、基本思路 (1)建立数学模型来描述问题。   (2)把求解的问题分成若干个子问题。   (3)对每一子问题求解,得到子问题的局部最优解。   (4)把子问题的解局部最优解合成原来解问题的一个解。 3、算法实现。 (1)从问题的某个初始解出发。 (2)采用循环语句,当可以向求解目标前进一步时,就根据局部最优策略,得到一个部分解,缩小问题的范围或规模。 (3)将所有部分解综合起来,得到问题的最终解。 贪心算法-例题分析 贪心算法-例题分析 贪心算法-例题1代码 贪心算法-例题分析 贪心算法-活动安排例题分析 贪心算法-例题分析 例题3:克鲁斯卡尔算法-最小生成树 人工模拟 算法难点 从刚才的演示过程,可知算法实现有两个难点: (1)边的选择要求从小到大选择,则开始显然要对边进行升序排序。 (2)选择的边是否需要,则从判断该边加入后是否构成环入手。 难点解决(一) (1)对边升序排序 方法可根据以前《数据结构》中选择合适的排序。

文档评论(0)

1亿VIP精品文档

相关文档