动态规划

什么是动态规划(DP)? DP起源于运筹学,是求解决策过程最优化的数学方法,它一种是将多阶段过程转化为一系列单阶段问题,再利用各阶段之间的关系,逐个求解的方法。即动态规划算法通常基于一个递推公式及一个或多个初始状态。当前子问题的解将由上一次子问题的解推出。使用动态规划来解题只需要多项式时间复杂度,因此它比回溯法、暴力法等要快许多。 动态规划干什么用? 求解决策过程最优化。因此动态规划算法...
算法

递归的时间复杂度

Master定理 有些算法在处理一个较大规模的问题时,往往会把问题拆分成几个子问题,对其中的一个或多个问题递归地处理,并在分治之前或之后进行一些预处理、汇总处理。这时候我们可以得到关于这个算法复杂度的一个递推方程,求解此方程便能得到算法的复杂度。其中很常见的一种递推方程就是这样的: 设常数a >= 1,b > 1,f(n)为函数,T(n)为非负整数,T(n) = a T(n /...
算法