常用的一个计算时间复杂度的公式: T(n) = a*T(n/b)+c*n^k

今天看到GOOGLE的笔试题。公式是在网上找的,不知道哪位是原作者,先借用了。

 

   T(n) = 25T(n/5)+n^2 的时间复杂度?

    O((n^2)*log(n)) 

 

《常用的一个计算时间复杂度的公式: T(n) = a*T(n/b)+c*n^k》《常用的一个计算时间复杂度的公式: T(n) = a*T(n/b)+c*n^k》 《常用的一个计算时间复杂度的公式: T(n) = a*T(n/b)+c*n^k》 《常用的一个计算时间复杂度的公式: T(n) = a*T(n/b)+c*n^k》 《常用的一个计算时间复杂度的公式: T(n) = a*T(n/b)+c*n^k》《常用的一个计算时间复杂度的公式: T(n) = a*T(n/b)+c*n^k》 《常用的一个计算时间复杂度的公式: T(n) = a*T(n/b)+c*n^k》  

 

对于T(n) = a*T(n/b)+c*n^k;T(1) = c 这样的递归关系,有这样的结论:

if (a > b^k)   T(n) = O(n^(logb(a)));
if (a = b^k)   T(n) = O(n^k*logn);

if (a < b^k)   T(n) = O(n^k); 

    原文作者:算法小白
    原文地址: https://www.cnblogs.com/aquariusgx/archive/2010/12/24/1915484.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞