算法设计关于递归方程T(n)=aT(n/b)+f(n)复杂度之通用解法
算法设计教材中给出的Master定理可以解决该类方程的绝大多数情况,根据Master定理:o-渐进上界、w-渐进下界、O-渐进确界。
以下为3种常见情况:
设a≥1,b>1为常数,f(n)为函数,T(n)=aT(n/b)+f(n)为非负数,令x=logba:
-
f(n)=o(nx-e),e>0,那么T(n)=O(nx)。
-
f(n)=O(nx),那么T(n)=O(nx logn)。
-
f(n)=w(nx+e),e>0且对于某个常数c<1和所有充分大的n有af(n/b)≤cf(n),那么T(n)=O(f(n))。