主定理——学习笔记

刚刚发现自己以前认为的递归算法复杂度分析都是错的……
主定理:(以下摘自算导)
a1 b>1 是常数, f(n) 是一个函数, T(n) 是定义在非负整数上的递归式:

T(n)=aT(n/b)+f(n)

其中 n/b 被解释为 n/b n/b 。(对以下结果无影响)
那么:
1.若对于某个常数 k>0 ,有 T(n)=O(nlogbak) ,则 T(n)=O(nlogba)
2.若 f(n)=O(nlogba) ,则 T(n)=O(nlogbalog2n)
3.若对于某个常数 k>0 ,有 T(n)=O(nlogba+k) ,且存在常数c<1对于足够大的n都有 af(n/b)cf(n) ,则 T(n)=O(f(n))

你可能感兴趣的:(主定理——学习笔记)