求递归式的时间复杂度问题

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

程序员面试宝典 时间复杂度问题!

使用算法导论中主方法来解决:

对于T(n) = a*T(n/b)+c*n^k;T(1)=c 这样的递归式,使用主方法有如下结论:

if ( a > b^k )      T(n) = O (n^(logb(a))) ; logb(a)   以b为底 a 对数

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

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

此处 a=25; b=5; k=2;

故复杂度为  T(n) = O(n^k*logn) ;



你可能感兴趣的:(c,算法,面试)