Master 公式

什么是 Master 公式

用来求解子问题等规模的递归行为的算法的时间复杂度的一种方法

其中,表示母问题的规模是表示子问题的规模为(即子问题必须等规模),表示调用子问题的次数,而表示除去子问题后,剩下的部分时间复杂度为

满足 Master 公式的递归行为,其时间复杂度计算如下

举几个例子

示例代码 |500

  • 在上图问题中,母问题的规模是,子问题的调用是相等的,即
  • 子问题调用了两次,除了子问题调用之外,剩下的语句复杂度是

综上,,因此其 Master 公式为 ,进而我们计算出其时间复杂度为

继续上图的算法,如果上问题中 process 函数中,调用自身时是计算左侧2/3的最大值和右侧1/3的最大值,那么本问题就不满足Master公式,因为其子问题的规模不是相等的。