使用主定理时对假设
Master定理是解决某些递归问题的漂亮工具。但是,在应用时,我们经常会掩盖一个不可或缺的部分。例如,在对Mergesort进行分析时,我们很高兴地从 T(n)=T(⌊n2⌋)+T(⌈n2⌉)+f(n)T(n)=T(⌊n2⌋)+T(⌈n2⌉)+f(n)\qquad T(n) = T\left(\left\lfloor \frac{n}{2} \right\rfloor\right) + T\left(\left\lceil \frac{n}{2} \right\rceil\right) + f(n) 至 T′(n)=2T′(n2)+f(n)T′(n)=2T′(n2)+f(n)\qquad T'(n) = 2 T'\left(\frac{n}{2}\right) + f(n) 仅考虑n=2kn=2kn=2^k。我们保证ourselved,这一步是有效的-那就是T∈Θ(T′)T∈Θ(T′)T \in \Theta(T') -因为TTT表现“很好”。通常,我们假设n=bkn=bkn=b^k对于bbb是公分母。 通过使用恶性,很容易构造不允许这种简化的重复fff。例如,以上针对T的重复TTT\,/T′T′\,T'与 f(n)={1n,n=2k,elsef(n)={1,n=2kn,else\qquad f(n) = \begin{cases} 1 &, n=2^k \\ n &, \text{else} \end{cases} 可以通过通常的方法使用Master定理得出Θ(n)Θ(n)\Theta(n),但是显然有一个子序列会像一样增长Θ(nlogn)Θ(nlogn)\Theta(n \log n)。参见此处,了解另一个更人为的示例。 我们怎样才能做到“严谨”呢?我很确定单调性就足够了,但是即使简单的Mergesort递归也不是单调的。有一个周期分量(渐近地占主导)。研究是否足够fff,并且在fff有什么必要和充分条件来确保Master定理有效?