思想很简单的贪心
贪心算法是在每一步选择中都采取当前最好的或者最优的选择,从而导致最终的结果是最好的或者最优的。贪心算法可以解决解决一些最优化问题,如求图中的最小生成树,求哈夫曼编码。算法的思想还是比较容易理解的,难的是问题能否用贪心解决,贪心的具体策略是什么?
如,给你一箱苹果,最多只能拿三个,你会怎么选择?
肯定每次都是拿最大的了,这样最终拿到的苹果肯定是最重的
但是有些问题,如果每次都是选择局部最优解,有可能最终结果不是最优解
如有这样一个数塔,一个人可以从一个格子移动到和它相邻的2个格子,从塔顶到塔底移动路径的最大值是多少?
如果采用贪心策略,每次都选择下一层的最大值,那么最终走过的路径是1->7->2->2,显然不是最优解