您的位置:首页 > 其它

递归树分析递归算法的时间复杂度

2016-09-11 12:29 302 查看
T(n) = T(n/3) + T(2n/3) + n

  其递归树如下图所示:

  


  可见每层的值都为n,从根到叶节点的最长路径是:

  


  因为最后递归的停止是在(2/3)kn == 1.则

  

    

  于是

  

  

  即T(n) = O(nlogn) 

 

  总结,利用此方法解递归算法复杂度:

  f(n) = af(n/b) + d(n)

  1.当d(n)为常数时:

  


  2.当d(n) = cn 时:

   


  3.当d(n)为其他情况时可用递归树进行分析。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: