码迷,mamicode.com
首页 > 编程语言 > 详细

动态规划和分治法,贪心算法以及递归的再一次深刻理解和体会

时间:2017-08-26 04:49:08      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:规划   动态   分治法   

每次体会算法都有新的感觉,刷题越多,对算法的理解感觉也就越深刻。

下面我们来重新体会下分治法,动态规划,贪心法,递归的理解。

1.分治法:

   将问题分成单独的阶段,每个阶段互相不干扰很独立,如10米长的木棍,切成10段,每段去解决每一段的问题。(阶段没有关系)

2.贪心法

    站在全局的角度,也是将问题堪称分为多个阶段,只不过阶段和阶段之间有一定的递进关系,如从5毛,1元,2毛,1毛,2元中,去找最少的钱币构成10块钱。首先是站在全局的角度,先从中取其最大值,为第一阶段,然后在从剩余的当中在找最大值,构成第二阶段。。。。。。如此往复,这就是贪心法。

3.动态规划

    是阶段和阶段之间有重复,举例说明:求一个数组的最长递增子序列。假设数组有10个元素,那么如何求解呢?将10个元素划分成10个阶段,第一个阶段,从第一个元素中求解,第二个阶段在第一个阶段求其解,第三个阶段在第一个,第二个阶段综合的基础上求解,第四个阶段在第1,2,3个阶段求其解,最后。。。。第k个阶段在第1,2....k-1个阶段求其最优解。

4.递归算法

    个人感觉和动态规划反着来的样子,有点像,问题规模为10,转化为问题规模为9的问题,,问题规模为9的问题,转化为8.。。。。。

5.回溯法和分支限界法

  都属于组合优化问题,就是按照过程向下面去寻找最优解,在寻找最优解的过程,不断的剪取枝条,来减少搜索情况。不行就换思路。


本文出自 “简答生活” 博客,谢绝转载!

动态规划和分治法,贪心算法以及递归的再一次深刻理解和体会

标签:规划   动态   分治法   

原文地址:http://1464490021.blog.51cto.com/4467028/1959415

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!