onewhite 在 【贪心算法】局部最优解 纯理论 中发帖
贪心算法
贪心算法,顾名思义,选当前最好的结果,不去考虑未来的结果。从局部最优解到全局解。
贪心算法,最终的解有可能不是最好的解,贪心只是保证了有这么一个解存在,如果要找到全局最优解,可以用其他的策略,比如动态规划,backtracking等。
贪心算法的应用场景有很多。在小学的时候,数学老师就问过我们,做包子要十分钟,洗衣机洗衣服要二十分钟,洗碗又要十分钟,问你要先做哪个。这里就有一个贪心的运用,人做事能并行,在洗衣机洗衣服的时候,可以先把包子做了,再把碗洗了。这样子的时间刚好来到了二十分钟,衣服也洗碗了。
三件完成的事为20分钟。
在这里,局部最优解为先洗衣机,再包子再希望。从一步步的角度来看,一开始的选择正确,后面的也选择正确,直接就达到了一个正确的解,但是这个解有可能不是最优解。可能存在另外一种解法。
又比如一个很经典的背包问题。
背包问题
说是有这么一个背包,背包有一...