分治法得基本思想是将一个规模为n的问题分解为k个规模为m的相互独立且与原问题解法相同的子问题,然后将子问题的解合并得到原问题的解。
由此可见,分治法设计出的程序一般是递归算法,设解决一个规模为1的问题需要1个单位时间,再设将k个子问题的解合并为原问题的解所需时间为f(n),则递归算法的时间复杂度为:
解递归方程:
,
主定理:
- 当时,T(n)=O();
- 当时,T(n)=O;(此处logn底数为2)
- 当时,T(n)=O(f(n));
来源:CSDN
作者:FRANKENSTEIN0
链接:https://blog.csdn.net/qq_41678225/article/details/100707762