• 动态规划问题


    首先动态规划是比较复杂的算法问题,但在实际解决一些最优化的问题上是很强的利器,如果不了解原理的话,请直接点击下方视频链接,讲的很好,估计用文字描述很难到达下方链接的讲解水平,这可能也就是一些数据结构与算法书没有讲解的原因。

    动态规划(第一讲)

    接下来,我会去leetcode上找些算法题的例子,作为部分例题进一步加深理解和应用。

    写点总结:“动态规划在查找有很多重叠子问题的情况的最优解时有效。它将问题重新组合成子问题。为避免多次解决这些子问题,它们的结果都逐渐被计算并被保存,从简单的问题直到整个问题都被解决。因此,动态规划保存递归时的结果,因而不会在解决同样的问题时花费时间......动态规划只能应用于有最优子结构的问题。最优子结构的意思是局部最优解能决定全局最优解(对有些问题这个要求并不能完全满足,故有时需要引入一定的近似)。简单的说,问题能够分解成子问题来解决。”

    通俗一点来讲,动态规划和其它遍历算法(如深/广度优先搜索)都是将原问题拆成多个子问题然后求解,他们之间最本质的区别是,动态规划保存子问题的解,避免重复计算。解决动态规划问题的关键是找到状态转移方程,这样我们可以通过计算和存储子问题的解来求解最终问题。

  • 相关阅读:
    Java基础之抽象类和多态
    Java基础之继承重载重写与this和super
    Java基础之StringBuffer的使用
    Java基础之String的方法与常量池
    Spring Boot之JSP开发
    Spring Boot之thymeleaf中替换th:each使用
    本周进度
    问卷调查立题报告(三人行)
    本周进度(复习软考)
    软件需求十步走之阅读笔记02
  • 原文地址:https://www.cnblogs.com/go-ahead-wsg/p/13702983.html
Copyright © 2020-2023  润新知