【问题标题】:Which way is best to solve: T(n)=4T(n/5)+(log(n√n))^5?哪种方法最好解决:T(n)=4T(n/5)+(log(n√n))^5?
【发布时间】:2021-02-26 16:55:07
【问题描述】:

我需要找到 T(n) = 4T(n/5) + (log(nn))5,形式为Θ(…)。

我知道三种方法:

  • 递归树
  • 主方法
  • 复发

哪种方法最简单?还有,我怎么能确定我得到了正确的答案?

【问题讨论】:

标签: algorithm big-o complexity-theory notation


【解决方案1】:

对于渐近行为,您会发现主定理(如果可以应用)很有用。虽然在主定理的证明中,它是从递归树中使用的,而你写的这些方法并不是独立的。

要使用主定理,首先简化非递归部分:

log(n\sqrt(n)) = log(n) + log(\sqrt(n)) = 3/2 log(n)

因此:

T(n) = 4T(n/5) + (3/2 log(n))^5

根据主定理c_critic = log_5(4) = log(4)/log(5) ~ 0.86,我们知道(3/2 log(n))^5 = O(n^0.5) 使得0.5 < c_critic。因此,T(n) = Theta(n^{log(4)/log(5)}) ~ Theta(n^0.86)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-13
    • 1970-01-01
    • 1970-01-01
    • 2021-02-09
    • 2015-09-08
    • 2019-10-17
    • 2011-11-27
    • 1970-01-01
    相关资源
    最近更新 更多