【发布时间】:2010-12-05 04:18:53
【问题描述】:
我正在为想要学习动态编程的人寻找一个易于理解的示例。 There are nice answers here about what is dynamic programming。斐波那契数列就是一个很好的例子,但它太小而无法触及表面。虽然我还没有上算法课,但它看起来是一个很好的学习主题,希望它在我春季的清单上。
【问题讨论】:
标签: algorithm dynamic-programming
我正在为想要学习动态编程的人寻找一个易于理解的示例。 There are nice answers here about what is dynamic programming。斐波那契数列就是一个很好的例子,但它太小而无法触及表面。虽然我还没有上算法课,但它看起来是一个很好的学习主题,希望它在我春季的清单上。
【问题讨论】:
标签: algorithm dynamic-programming
【讨论】:
Here is a good tutorial 包含 29 个已解决的 DP 问题,并有很好的解释。
【讨论】:
【讨论】:
动态编程背后的想法是您正在缓存(记忆)子问题的解决方案,尽管我认为还有更多。
存在许多 Google Code Jam 问题,因此解决方案需要动态编程才能有效。例子:
Welcome to Code Jam (moderate)
Cheating a Boolean Tree (moderate)
请注意,每场 Code Jam 练习比赛都有一个“比赛分析”部分,如果您在尝试解决问题时遇到困难。
【讨论】:
计算 Levenshtein 距离是我用动态规划解决的第一个问题。我认为就复杂性而言,这是斐波那契数列的一个不错的下一步。
【讨论】: