主定理通常形式是T(n) = a T(n / b) + f(n), a >= 1, b > 1。递归项能够理解为一个高度为 logbn 的 a 叉树, 这样 total operation就是 (a ^ logbn) - 1, 右边的f(n)假设为 nc 那么咱们对比一下这两项就会发现 T(n)的复杂度主要取决于 logba 与 c 的大小。因此咱们才会有接下来的三种case。也须要注意何时不可使用主定理。递归
Case 1: c < logba , O(n) = n ^ logba , 意味着咱们能够忽略 f(n)ip
Case 2: c = logba, O(n) = nc logk + 1n , k >= 0rem
Case 3: c > logba, O(n) = ncio
Reference:ast
https://en.wikipedia.org/wiki/Master_theoremdi