一个想要了解dynamic规划的人的简单例子
我正在为想学习dynamic规划的人寻找一个可以理解的例子。 这里有很好的答案,关于什么是dynamic编程 。 斐波纳契序列是一个很好的例子,但它太小,不能划伤表面。 虽然我还没有selectalgorithm类,但看起来这是一个很好的学科,希望能在spring上榜。
看看这个网站: dynamic编程实践问题
这是一个很好的教程,包含29个解决DP问题的很好的解释。
dynamic编程背后的想法是,你正在caching(记忆)子问题的解决scheme,但我认为除此之外还有更多。
有许多Google Code Jam问题,因此解决scheme需要dynamic编程才能高效。 例子:
欢迎来到Code Jam(中等)
欺骗一个布尔树(中等)
PermRLE(硬)
请注意Code Jam练习赛每个都有一个“比赛分析”部分,如果你试图解决这个问题的话。
计算Levenshtein距离是我用dynamic规划解决的第一个问题。 我认为就复杂性而言,这是斐波纳契数列的下一步。
- 极客极客拥有大量的dynamic编程问题。 如果你正在准备面试,我觉得这套是最好的。
- 如果您想要关于DP问题的小教程video,您可以检查MIT设置的这个问题。