T(N)=a*T(N/b)+T(N^d)
N是父问题的规模,a是执行次数,N/b是父问题被分割的规模,N^d是后续问题的规模
注意:
划分子问题的规模要一致
①log(b,a)>d–>时间复杂度N^log(b,a)
②log(b,a)=d–>时间复杂度N^d*logN
③log(b,a)< d -->时间复杂度N^d
下面举个例子
T(N)=2T(N/2)+T(N)
将问题分成两部分,每部分进行一次,比较操作是常数级操作
log(2,2)=1,d=1 所以log(2,2)=d,所以时间复杂度是NlogN