98

我正在为想要学习动态编程的人寻找一个易于理解的示例。关于什么是动态编程,这里有很好的答案。斐波那契数列就是一个很好的例子,但它太小而无法触及表面。虽然我还没有上过算法课,但它看起来是一个很好的学习主题,希望它在我春季的清单上。

4

5 回答 5

30

看看这个网站:动态编程练习题

于 2009-10-08T22:32:33.413 回答
20

这是一个很好的教程,包含 29 个已解决的 DP 问题,并有很好的解释。

于 2015-01-06T07:23:07.057 回答
7

动态编程背后的想法是您正在缓存(记忆)子问题的解决方案,尽管我认为还有更多。

有许多 Google Code Jam 问题,因此解决方案需要动态编程才能有效。例子:

欢迎来到 Code Jam(中等)

欺骗布尔树(中等)

PermRLE(硬)

请注意,每个 Code Jam 练习比赛都有一个“比赛分析”部分,如果您在尝试解决问题时遇到困难。

于 2009-10-08T22:36:36.190 回答
5
  1. Geeks for Geeks收集了大量动态编程问题。如果你正在准备面试,我觉得这一套是最好的一套。
  2. 如果你想要关于 DP 问题的小型教程视频,你可以查看MIT 的这个问题集。
于 2014-12-27T06:40:48.830 回答
4

计算 Levenshtein 距离是我用动态规划解决的第一个问题。我认为就复杂性而言,这是斐波那契数列的一个不错的下一步。

http://en.wikipedia.org/wiki/Levenshtein_distance

于 2009-10-08T22:29:23.583 回答