Master公式(也称主方法)是用分治策略解决问题时,经常用来分析时间复杂度的方法。
使用条件:子过程规模都一样,都是N/b。
T [N] = a*T[N/b] + O (N^d)
其中 a >= 1 and b > 1 是常量,其表示的意义是
N表示问题的规模,
a表示递归生成的子问题数,
b表示每次递归是原来的1/b之一个规模,
O(N^d)表示分解和合并所要花费的时间之和。
解法:
①当d<logb a时,时间复杂度为O(n^(logb a))
②当d=logb a时,时间复杂度为O((n^d)*logn)
③当d>logb a时,时间复杂度为O(n^d)