动态规划与分治法

算法中,动态规划和分治算法是属于两种算法思想,他们有相同点和不同点:

相同点:
1,两者都是将大问题分解成若干个小问题,
2,两者都是依赖于小问题的解决,来解决上一级较大问题

不同点:
1,分治法往往用到递归计算,自上而下计算,而动态规划则直接自底向上计算
2,分治大的小问题在递归的过程中可能会被反复计算,动态规划中的小问题计算后被存储,下次再碰到时直接调用、
3,分治法的小问题的解只使用一次,动态规划的小问题的解存储以备大问题求解时反复调用

动态规划的一般构造条件:
1,存在最优子结构:下一级的最优解可以作为上一级最优解的基础

2,存在重复子问题:许多子问题的解会多次被调用(效率)

构造方法:
从子问题出发,自底向上,构造最优解,同时需要适配合适的数据结构存储子问题最优解

Paste_Image.png
Paste_Image.png
Paste_Image.png
Paste_Image.png
Paste_Image.png
Paste_Image.png
Paste_Image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,008评论 25 709
  • 动态规划(Dynamic Programming) 本文包括: 动态规划定义 状态转移方程 动态规划算法步骤 最长...
    廖少少阅读 8,653评论 0 18
  • 多阶段决策过程(multistep decision process)是指这样一类特殊的活动过程,过程可以按时间顺...
    碧影江白阅读 6,990评论 1 6
  • 第一眼看到她,就喜欢 但只看过一眼 即使如此,便从未忘记 她是梦,让我难眠 也让我痛,却从未后悔 傻傻地 就是这样...
    花花5阅读 1,852评论 0 0
  • 我想只不过是害怕你们都去幸福了,剩下我一个人。 KK的婚礼是我参加的第一场也是唯一一场婚礼,还记得她出嫁的清晨,春...
    aoemaricle阅读 1,274评论 0 0