【问题标题】:A simple example for someone who wants to understand Dynamic Programming [closed]想要了解动态编程的人的一个简单示例[关闭]
【发布时间】:2010-12-05 04:18:53
【问题描述】:

我正在为想要学习动态编程的人寻找一个易于理解的示例。 There are nice answers here about what is dynamic programming。斐波那契数列就是一个很好的例子,但它太小而无法触及表面。虽然我还没有上算法课,但它看起来是一个很好的学习主题,希望它在我春季的清单上。

【问题讨论】:

    标签: algorithm dynamic-programming


    【解决方案1】:

    【讨论】:

    【解决方案2】:

    Here is a good tutorial 包含 29 个已解决的 DP 问题,并有很好的解释。

    【讨论】:

      【解决方案3】:
      1. Geeks for Geeks 有一个很棒的collection 动态编程问题。如果你正在准备面试,我觉得这一套是最好的。
      2. 如果您想要关于 DP 问题的小型教程视频,可以查看来自 MIT 的 this 问题集。

      【讨论】:

        【解决方案4】:

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

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

        Welcome to Code Jam (moderate)

        Cheating a Boolean Tree (moderate)

        PermRLE (hard)

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

        【讨论】:

        • 感谢您的资源。时不时解决来自project euler的一两个问题,似乎真的被一些需要DP知识的问题卡住了。
        【解决方案5】:

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-07-19
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多