面试复习-------算法与数据结构------算法设计

海量数据处理面试题:http://blog.youkuaiyun.com/v_july_v/article/details/6279498/


分治法

分治法的基本思想是将一个规模为n的问题分解为k个规模较小的问题,这些子问题互相独立且与原问题相同(所以可以递归)。递归地解这些子问题,然后将各个子问题的解合并得到原问题的解。

分治一般有两步:①问题分解,递归求解②子问题解的合并

典型例子:归并排序

动态规划

动态规划也需要将问题进行分解,但与分治法不同的是,适合动态规划法解的题,经分解得到的子问题往往不是相互独立的。若用分治法来解这类问题,则分解得到的子问题数目太多,有些子问题被重复计算了很多次。用一个表来记录所有已解的子问题的答案。不管该子问题以后是否被用到,只要它被计算过,就将其结果填入表中。这就是动态规划法的基本思路。

一般用动态规划求解问题的时候,需要找到一个状态,以及状态之间的递推公式。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值