来自于左神的讲解:
master公式: T(N)=a*T(N/b)+)(N^d)
a为发生的次数,T(time)
N是原始样本量
n/b 是子过程的样本量
O(n^d) 除了调子过程外,剩下的开销
log(b,a)>d --> 复杂度为 O(N^log(b,a));
log(b,a)=d --> 复杂度为 O(N^d * logN);
log(b,a)<d --> 复杂度为 O(N^d);
举例
归并排序
a发生的次数为2,分别是左边和右边, n/b为n/2, 所以b=2 因为每次的样本量是总样本的一半,除了掉子过程外,在并的过程中,时间复杂度为o(n) 所以d=1;
a=2,b=2,d=1
所以log(b,a)==d; 时间复杂度为 O(n^1*logN) ----> O(nlogN);
快速排序和归并排序是一样的计算方式 也是O(nlogN);