分治、递归、动态规划、贪心算法区别

分治、递归、动态规划

三者之间没有根本区别,关键看有无最优的子结构。
共性:找到重复子问题
差异性:动态规划寻找最优子结构,中间可以淘汰次优解

动态规划、贪心算法

动态规划是寻找局部,全局最优解
贪心算法是找局部最优解,不一定得到全局最优解

回顾下递归四步骤:

  1. terminator
  2. process
  3. drill dowm
  4. restore current status

分治五步骤:

1.终止条件
2.拆分为子问题
3.调用下一层递归
4.处理以及合并返回的值
5.存储当前层的值

动态规划
分为自顶向下和自底向上的求解方法,在动态规划算法中会细讲

发布了17 篇原创文章 · 获赞 3 · 访问量 416

猜你喜欢

转载自blog.csdn.net/qq_41172631/article/details/105346668