【问题标题】:Complexity of Algorithm: log(x^2 + x^3) = O(?)算法复杂度:log(x^2 + x^3) = O(?)
【发布时间】:2013-05-24 17:51:29
【问题描述】:

虽然我了解编程中算法复杂度和对数复杂度的概念,但我不知道如何确定包含不同幂变量的对数复杂度。

这里有一些例子:

log(x^2 + 3x^3) = O(?)

log(x^3 + 5) = O(?)

任何帮助将不胜感激。

谢谢。

【问题讨论】:

    标签: complexity-theory big-o logarithm


    【解决方案1】:
    O(log(x))
    

    只是因为log(x<sup>k</sup>) = k⋅log(x) 的数学规则(严格来自日志的定义)

    另外,我们知道 O 是一个渐近乘法符号,所以乘以一个常数不会影响它。

    证明:

    log(x² + 3x³) ≤ log(4x³) ≤ log(x⁴) 足够大的 x

    所以 log(x²+3x³) ≤ log(4x³) ≤ log(x⁴) = 4⋅log(x) 根据定义我们知道是 O(log(x))

    这是上 O 界的证明

    在另一个方向(显示不需要但您可能感兴趣的 Theta)

    log(x²+3x³) ≥ log(x²) &gt;= 2⋅log(x) 定义为 O(log(x))

    【讨论】:

    • 这正是我所需要的。非常感谢,非常非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-12
    • 1970-01-01
    • 1970-01-01
    • 2021-06-22
    • 1970-01-01
    • 2018-05-13
    • 1970-01-01
    相关资源
    最近更新 更多