分治,贪心,回溯,动态规划算法的简要理解

本文介绍了动态规划、贪心算法、回溯算法和分治算法的基本思想。动态规划通过最优子结构、边界和状态转移公式解决复杂问题;贪心算法寻求局部最优解组合成全局最优;回溯法通过尝试不同路径并适时回溯找到目标;分治法则是将大问题分解为小问题分别解决。文中通过实例说明了四种算法的应用。
摘要由CSDN通过智能技术生成

好久没更新博客,都长草了!!!

1.动态规划

动态规划通俗来讲就是一种分阶段解决问题的数学思想。如电视剧中佛门中人经常提及的一个思想:大事化小,小事化了。
举例如下:

有一座高度是10级台阶的楼梯,从下往上走,每跨一步只能向上1级或者2级台阶。要求用程序来求出一共有多少种走法。

解决方案:(1)暴力枚举(精力,时间多可以一试)
(2)动态规划思想:从后往前考虑,考虑最后一步到第10级,最后一步必然是从8级或者9级到10级。当1-9级有Y种走法,1-8级有X种走法时,此时10级台阶总的走法数量是X+Y。所以F(10)=F(9)+F(8),F(9)=F(8)+F(7),…,如此我们就是把一个复杂的问题不断的简化。

动态规划的三个重要概念:最优子结构,边界,状态转移公式。

上例子中,F(8)和F(9)是F(10)的最优子结构,边界是F(1)=1,F(2)=2;
状态转移公式是F(n)=F(n-1)+F(n-2).

2.贪心算法

比较通俗的理解是:把自己的工作做好,别人的我先不管。即:假设一个问题很复杂,暂时找不到全局的最优解,那么将原问题拆成几个小问题,分别进行求每个小问题的最优解,最后将这些最优解叠加起来作为整个问题的最优解࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值