Skip to content

主定理

Master theorem · Master method

比较递归子问题总量与合并成本,快速求解一类分治递推式的渐近界。

形式陈述

a1b>1f(n) 渐近非负,并考虑

T(n)=aT(n/b)+f(n),T(1)=Θ(1),

先在 n=bk 上陈述;取整版本在通常正则假设下相同。令 d=logba。经典主定理给出:

  1. 若存在 ε>0 使 f(n)=O(ndε),则 T(n)=Θ(nd)
  2. f(n)=Θ(ndlogkn),其中常数 k0,则 T(n)=Θ(ndlogk+1n)
  3. 若存在 ε>0 使 f(n)=Ω(nd+ε),并且对某个 c<1 及充分大的 naf(n/b)cf(n),则 T(n)=Θ(f(n))

不满足这些多项式间隔或正则条件时,不能仅凭“看起来更大/更小”套用本定理。

直觉

递归树的总代价由叶子数量、各层均摊成本或根部合并工作中的最大者主导。

例子与边界

归并排序 T(n)=2T(n/2)+Θ(n) 得到 Θ(nlogn)T(n)=T(n/2)+T(n/3)+n 不符合等规模子问题形式,不能直接套用主定理。

推论与应用

主定理快速分析排序、矩阵算法和树递归;不适用时可用递归树、代入法或 Akra–Bazzi 定理。

参考资料
  • Thomas H. Cormen et al., Introduction to Algorithms, 4th ed., §4.5.
  • Manuel Akra and Louay Bazzi, “On the Solution of Linear Recurrence Equations,” 1998.