一、基本介绍:
贪心算法( )是一种解决优化问题的算法思想。 其基本思想是在每一步中选择当前情况下的最优解,希望通过每一步的最优选择最终达到全局最优解。
贪心算法的核心思想是贪心选择的本质,即每一步的选择都是局部最优的,希望通过局部最优的选择最终得到全局最优解。 然而,贪心算法并不能保证每一步的选择都会导致最终的最优解,因此在应用贪心算法时,需要仔细分析问题的本质,以保证贪心选择本质的正确性。
贪心算法的步骤通常包括:
定义问题的最佳解决方案结构。 构建贪婪选择属性,即每一步的最优选择。 利用贪心选择的性质进行局部最优选择,更新问题状态。 检查是否满足问题的约束条件或者是否达到最终的解,如果不满足,则返回步骤2继续选择。 合并局部最优解,得到问题的最终解。
贪心算法常用于一些优化问题,如最短路径问题、最小生成树问题、背包问题等,它简单、高效,在某些情况下可以快速得到接近最优解的结果。 然而,贪心算法也有局限性。 它无法处理一些需要全局最优解的问题。 因此,在使用贪心算法时,需要仔细分析问题的本质和约束条件。
2、共同想法:
1. 排序
2.左右问题分两部分解决
2、主题:
1.455 分发
注意排序
2. 135 分发糖果
对于必须双方考虑的问题,必须先确定一侧,再确定另一侧。 遍历两次,一次从左到右,一次从右到左。 不要试图同时解决两个问题。
3.435 非重叠间隔