Master公式的使用

 master公式(也称主方法)是用来利用分治策略来解决问题经常使用的时间复杂度的分析方法,(补充:分治策略的递归解法还有两个常用的方法叫做代入法和递归树法),分治策略中使用递归来求解问题分为三步走,分别为分解、解决和合并,所以主方法的表现形式:

T [n] = aT[n/b] + f (n)或直接记为T [n] = aT[n/b] + T (N^d)

其中 a >= 1 and b > 1 是常量,n表示问题的规模,a表示递归的次数也就是生成的子问题数,b表示每次递归是原来的1/b之一个规模,f(n)表示分解和合并所要花费的代价之和。

解法:
①当d<log(b,a)时,时间复杂度为O(n^(logb a))
②当d=log(b,a)时,时间复杂度为O((n^d)*logn)
③当d>log(b,a)时,时间复杂度为O(n^d)

猜你喜欢

转载自www.cnblogs.com/FansticSee/p/11278454.html