美文网首页
数据结构与算法(第二季):动态规划

数据结构与算法(第二季):动态规划

作者: 萧1帅 | 来源:发表于2022-01-17 09:11 被阅读0次

动态规划(Dynamic Programming)

一、概念

  • 动态规划,简称DP,是求解最优化问题的一种常见策略。

二、练习

322. 零钱兑换

image image
  • 该实现属于暴力递归(自顶向下,出现了重叠子问题),优化方案是记忆化搜索(自顶向下)
image
  • 我们还可以将记忆化搜索(自顶向下)继续优化,即递推(自底向上)
image
  • 时间/空间复杂度为O(n)

  • 如果动态传入硬币面值:

image

三、动态规划的常规步骤

  • 动态规划中的“动态”,可以理解为是“会变化的状态”。

    1. 定义状态(状态是原问题、子问题的解),比如定义dp(i)的含义。
    2. 设置初始状态(边界),比如设置dp(0)的值。
    3. 确定状态转移方程,比如确定dp(i)和dp(i-1)的关系。
  • 动态规划就是将复杂的原问题,拆解成若干个简单子问题,并且每个子问题只计算一次,且存储他们的结果。

相关文章

  • 动态规划-js

    动态规划 参考:算法分析与设计-贪心&动归 漫画:什么是动态规划? 【数据结构与算法】 DP 动态规划 介绍 介绍...

  • 一位算法工程师的自我修养

    数据结构与算法 基本算法思想动态规划贪心算法回溯算法分治算法枚举算法 算法基础 时间复杂度 空间复杂度 最大复杂度...

  • 七、动态规划

    记录一下对动态规划的学习。在学习数据结构与算法的过程中,觉得比较难的一个算法思想就是动态规划了。它的应用实在是多,...

  • 动态规划 Dynamic Programming

    从运筹学和算法的角度综合介绍动态规划 算法分类总结动态规划与静态规划的关系浅析静态规划和动态规划动态规划解非线性规...

  • 算法草稿

    常用算法集合 字符处理算法数组与查找链表树算法思路 递归、动态规划、BFS/DFS、双指针、二分法搜索数据结构的...

  • 4. 动态规划算法

    1. 动态规划算法总结2. 漫画:什么是动态规划?3.算法之动态规划4. 动态规划-算法

  • Swift 算法实战:动态规划

    Swift 算法实战:动态规划 Swift 算法实战:动态规划

  • 数据结构与算法--动态规划

    动态规划

  • 数据结构与算法(第二季):动态规划

    动态规划(Dynamic Programming) 一、概念 动态规划,简称DP,是求解最优化问题的一种常见策略。...

  • 程序员算法基础——动态规划

    程序员算法基础——动态规划 程序员算法基础——动态规划

网友评论

      本文标题:数据结构与算法(第二季):动态规划

      本文链接:https://www.haomeiwen.com/subject/ceiacrtx.html