【算法学习笔记九】贪心算法

贪心算法通常是用来解决优化问题的。它们通常由一个试图找到局部最优解的迭代过程组成。贪心算法是在不考虑未来的情况下,在少量计算的基础上做出正确的猜测。它一步一步地构建解决方案。每一步都增加了局部解的大小,并基于局部优化。所做的选择是在保持可行性的同时产生最大的即时收益。这些算法通常是有效的。最难的部分是证明算法确实解决了这个问题。

对于背包问题,贪心策略:对每一项计算yi=vi/si。将物品按比例递减排序,并尽可能地从第一件物品,然后是第二件物品,以此类推。特点:该算法由一个简单的迭代过程组成,在保持可行性的同时,选择产生最大即时收益的项目。

贪心算法的基本步骤:

solution=f

while not finish(solution)

   x=select(A)

   if (feasible(solution,x

你可能感兴趣的:(算法分析,贪心算法,dijkstra,huffman,tree,拟阵,prim)