1. 程式人生 > >遞迴樹分析遞迴演算法的時間複雜度

遞迴樹分析遞迴演算法的時間複雜度

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)為其他情況時可用遞迴樹進行分析。