zoukankan      html  css  js  c++  java
  • 递归算法复杂度分析方法

    递归算法的复杂度分析方法。

      a、分析出复杂度公式(关于n的规模)

      b、求解这个公式

    1、齐次

      例如求fabonaci的第n项,f(n) = f(n-1)+f(n-2)  

                  => f(n)-f(n-1)-f(n-2)=0

                  =>特征方程:x^2-x-1=0

                  => x1,x2

                  => f(n)=a*x1n + b*x2n

    2、master method

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

      

    3、采用分析树的方式

    举个例子 f(n) = 2*f(n-1) + 1

          1                1 -------------------------------------->  20

       f(n-1)  f(n-1)     ==>       1        1  ---------------------------->  2

          ……        f(n-2)    f(n-2)    f(n-2)   f(n-2)  ---------------------> 22

     所以:  f(n) = 20 + 21 +22 +…… = 2n - 1

  • 相关阅读:
    LOJ10092半连通子图
    LOJ104 普通平衡树
    LOJ10145郁闷的出纳员
    LOJ10144宠物收养所
    LOJ10043
    洛谷P3850 书架
    codevs 1814 最长链
    洛谷 P2022 有趣的数
    codevs 1312 连续自然数和
    noip 2010 引水入城
  • 原文地址:https://www.cnblogs.com/informatics/p/5093460.html
Copyright © 2011-2022 走看看