贪心学了这么久,也没好好总结总结
一、基本概念
什么是贪心算法?简单点来说就是把一个大问题分解成若干小问题,然后对每一个小问题求最优解。也就是说贪心算法不从全局进行考虑,他所做出的仅仅是某一方面看起来最优的方法也就是贪心算法求的只是局部最优解。
贪心算法没有固定的算法框架,算法设计的关键是贪心策略的选择。必须注意的是,贪心算法不是对所有问题都能得到整体最优解,只有一部分问题可以通过谈心求得最优解。
二、贪心算法的基本思路:
1.建立数学模型来描述问题。
2.把求解的问题分成若干个子问题。
3.对每一子问题求解,得到子问题的局部最优解。
4.把子问题的解局部最优解合成原来解问题的一个解。
三、贪心算法适用的问题
只有那种通过局部最优解可以求得全部最优解的问题才可以使用贪心算法。