第5章算法基础.ppt

第5章算法基础.ppt

贪心法 (Greedy Algorithm) 贪心算法的基本思想是从小的方案推广到大的解决方法。它分阶段工作,在每一个阶段选择最好的方案,而不考虑其后的结果如何。 贪心法主要用于求解最优问题,但它已经发展成为一种通用的算法设计技术:核心是: 可行性——每一步选择必须满足问题的约束; 局部最优——它是当前可选择的方案中最优的; 不可取消性——选择一旦做出,在算法的其后步骤中不能被取消。 贪心法不能确定得到的最后解是最优的,也不能用于求解最大或最小问题。在算法的效率上,贪心法快速,程序实现需要的内存开销也较小。但遗憾的是,它们往往是不正确的。然而一旦被证明是正确的,其执行效率和速度有很大的优势。 30 ? 背包问题(分数背包问题) 假设有一个体积为M的背包以及n种物品,价值是 pi的第i 种物品的体积是 wi 。假设每种物品都可以取其一部分装入背包, xi 是取第i 种物品装进背包的百分比, 那么装入背包的总价值是 pi xi 。 所谓一个最优装包方法,就是要找到一组 xi 使得在约束条件 下,背包中物品总价值 达到最大。 Q: 每步该做些什么? A: 把某种物品的一部分放进包里. Q: 以什么标准来确定“贪心”? ? 最大价值 ? 最小体积 ? 最大的价值密度pi /

文档评论(0)

1亿VIP精品文档

相关文档