• 动态规划方法


    动态规划和分治法类似,也是将问题分解为一些列的子问题,通过寻找子问题的最优解来得到问题的解。

    区别在于:

    1,分治法的子问题相互独立,相同的子问题被重复计算,而动态规划方法解决了这一问题。(重复子问题的计算导致很多用递归实现的分治法方案的时间复杂度按指数增长,而引入动态规划方法或者备忘录方法,复杂度降低到多项式时间)

    2,分治法是按自上而下的的方法,通过递归将原问题逐步分解为子问题;

      动态规划法是自底向上的,从子问题入手,逐步扩展至原问题。

    动态规划求解问题的两个要素:最优子结构特性和重叠子问题,用这俩要素判定一个实际问题是否适合用动态规划方法求解。

    动态规划的实例比较多,我打算这几天都动手实现一下,参考书目《算法设计与分析》:

    1,多段图问题

    2,资源分配问题

    3,关键路径问题

    4,最短路径问题(Floyd算法)

    5,矩阵两乘问题

    6,最长公共子序列问题

    7,0/1背包问题

    8,流水线作业问题

    9,最优二叉搜索树

  • 相关阅读:
    机器学习-决策树
    第八章- 假设检验
    第七章-参数估计
    第六章-总体与样本
    第五章-大数定律&中心极限定理
    第三,四章-多维随机变量及其分布
    第二章-随机变量分布
    第一章, 随机事件
    第六章-二次型
    第五章-矩阵的特征值和特征向量
  • 原文地址:https://www.cnblogs.com/fkissx/p/4765120.html
Copyright © 2020-2023  润新知