根据递归方程求解:
T ( n ) = 2 T ( n 2 ) + 2 n T(n) = 2T( \frac{n}{2}) + 2n T(n)=2T(2n)+2n
T ( n 2 ) = 2 T ( n 4 ) + 2 n 2 T(\frac{n}{2}) = 2T( \frac{n}{4}) + 2\frac{n}{2} T(2n)=2T(4n)+22n
T ( n 4 ) = 2 T ( n 8 ) + 2 n 4 T(\frac{n}{4}) = 2T( \frac{n}{8}) + 2\frac{n}{4} T(4n)=2T(8n)+24n
T ( n 8 ) = 2 T ( n 16 ) + 2 n 8 T(\frac{n}{8}) = 2T( \frac{n}{16}) + 2\frac{n}{8} T(8n)=2T(16n)+28n
. . . ... ...
T ( 2 ) = 2 T ( 1 ) + 4 T(2) = 2T( 1) + 4 T(2)=2T(1)+4
T ( 1 ) = 1 T(1) = 1 T(1)=1
上述式子共有 log 2 n \log_2n log2n项。
考虑:
堆排序、非极限情况下的快速排序和归并排序的计算方法类似,时间复杂度都是 O ( n log 2 n ) O(n\log_2n) O(nlog2n).
汉诺塔(Hanoi)的递推方程为T(n) = 2T(n-1),分治后问题规模减1,层层带入后所得的时间复杂度为 2 n − 1 , 即 O ( 2 n ) 2^n-1, 即O(2^n) 2n−1,即O(2n)。