master公式:也叫主定理。它提供了一种通过渐近符号表示递推关系式的方法。
应用Master定理可以很简便的求解递归方程。
T [n] = a*T[n/b] + O (N^d)
①当d<log(b,a)时,时间复杂度为O(n^(logb a))
②当d=log(b,a)时,时间复杂度为O((n^d)*logn)
③当d>log(b,a)时,时间复杂度为O(n^d)
由上一个博客中的例子讲解:
将整个数组分为两部分,则左部分为n/2,右部分也为n/2,两者相加,返回操作为O(1)
则得到的式子如下:
T [n] = 2*T[n/2] + O (1)
a=2,b=2,d=0
d<log(b,a)则时间复杂度为O(n)