【算法复习】求解递归式的方法

 求解递归式的方法

【代入法】函数

  • 代入法求解分为两步:
    • 猜想解的形式
    • 用数学概括法求出解的常数C,并证实正确性,关键步骤是用猜想的解代入到递归式中。
  • 作出好的猜想(没有通常方法,只能凭经验)
    • 与见过的解相似,则猜想之。
    • 先证较宽松的上、下界,减少猜想范围。咱们能够从下界Ω(n)开始,上界O(n^2),而后逐渐收敛至(nlog2n)
  • 细节修正
    • 有时猜想解是正确的,但数学概括法却不能直接证实其细节,这是由于数学概括法不是强大到足以证实其细节。
    • 这时可从猜想解中减去一个低阶项以使数学概括法得以知足
  • 避免陷阱
    • 与求和式的数学概括法相似,证实时渐近记号的使用易产生错误。
    • 如:证实O(n)时必须严格证实≤cn,不能讲其换作cn+n
  • 变量变换
    • 有时改动变量能使未知递归式变为熟悉的式子。例如:

【代入法例题】blog

 

【递归树法】递归

  • 递归树最适合用来生成好的猜测,而后可用代入法来验证猜想是否正确
  • 须要关注:
    • 达到边界条件所需的迭代次数
    • 迭代过程当中的和式。若在迭代过程当中已估计出解的形式,亦可用代入法

 

 【递归树法例题】数学

 

【Master原理】ast

  •  Master定理也叫主定理。它提供了一种经过渐近符号表示递推关系式的方法。应用Master定理能够很简便的求解递归方程。class

 

定理4.1(主定理) 令a≥1和b>1是常数,f(n)是一个函数,T(n)是定义在非负整数上的递归式:变量

              T(n) = aT(n/b) + f(n)原理

其中咱们将n/b解释为。那么T(n)有以下渐近界:方法

  

主定理的三种状况,通过分析,能够发现都是把f(n)与比较。im

第一种状况是更大,第二种状况是 与f(n)相等,第三种状况是f(n)更大。

 

【主定理例题】

 

相关文章
相关标签/搜索