题目: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) ;