【发布时间】:2014-05-08 06:53:39
【问题描述】:
我有以下递归:
T(n) = T(2*n / 3) + T(n / 3) + O(n log n)
我需要知道确切的方程式,我知道 Master theorem 帮不了我。
请告诉我一般如何处理此类递归。我需要复杂性并了解如何解决此类问题。
提前致谢。
【问题讨论】:
-
为什么你认为主定理对你没有帮助?你的确切问题是什么?一般来说,主定理是确定大多数(不是全部)递归调用的渐近运行时间的正确方法。
-
你看到你的方程是
T(n) = T(n) + O(n logn),这很奇怪吗? -
@pkacprzak 根本不是这样。
-
@pkacprzak T(2*n / 3) + T(n / 3) != T(n)
-
@MatthewHerbst 主定理要求 2n/3 和 n/3 相同。您可以将 n/3 转换为 2n/3 以获得上限,就像 AbcAeffchen 所做的那样。
标签: algorithm complexity-theory recurrence