我认为人们偏向于贪婪方法的DP方法,因为它可以解决优化问题。你们认为哪一个更好?我需要收集论据,支持与我的伙伴争辩的更好的技巧。大声笑。好的,DP用于解决具有最优子结构的问题,并且最优原则适用于它们。但DP是否足以比贪婪的做法更好?
答案 0 :(得分:4)
如果不知道你想要解决什么问题,你的问题毫无意义。
动态编程是一种工具。它对解决某类问题很有用。
贪婪算法是另一种工具。它们在其他情况下很有用。
这就像问“哪个更好 - 锤子还是锯子”?
The answer will be very different depending on what you are trying to do.
答案 1 :(得分:2)
我们来看Coin change example。如果采用贪婪方法,大多数时候可能无法获得正确的结果,但如果采用DP方法,您将始终获得正确的结果。事实上,这是解决问题的唯一方法,即使用DP。
要回答你的问题,忘记最佳性,但是使用贪婪,你可能无法在某个问题上找到正确的解决方案。