对于无法直接转化得到方程解的,可以采用以下定理!
大小为n的原问题分成若干个大小为n/b的子问题,其中a个子问题需要求解,而cnk是合并各个子问题的解需要的工作量。
找出对应的abc,直接带入。
(1)直接转换
T(n)=3*T(n-1)
=3*3*T(n-2)
=3*3*3*T(n-3)
……
=3n-1T(1)
=3n-1*4
时间复杂度为O(3n)
(2)使用定理
可直接代入定理,a=2, b=3, c=1, k=1, a<bk ,因此T(n)=O(nk)=O(n)。
(3)求递归方程T(n)=4T(n/2)+n 的解 为O(n2)
直接代入定理,a=4, b=2, c=1, k=1, a>bk,因此T(n)=O(nlogb^a)=O(n2)。