转:master公式(主方法)
master公式(也称主方法)是利用分治策略来解决问题经常使用的时间复杂度的分析方法,(补充:分治策略的递归解法还有两个常用的方法叫做代入法和递归树法),众所众知,分治策略中使用递归来求解问题分为三步走,分别为分解、解决和合并,所以主方法的表现形式:
T [ n ]=a T[ n / b ] + T ( N ^ d)
其中a>=1 and b>1 是常量,其表示的意义是n表示问题的规模,a表示递归的次数也就是生成的子问题数,b表示每次递归是原来的1/b之一个规模,f[n]表示分解和合并所要花费的时间之和。
解法:
1)当d<logb a时,时间复杂度为O(n^(logb a))
2)当d=logb a时,时间复杂度为O(nlog2 n)
3)当d>logb a时,时间复杂度为O(n^d)