【问题标题】:What are the "hidden constants"?什么是“隐藏常数”?
【发布时间】:2016-10-04 08:28:53
【问题描述】:

很多人在比较算法时都会谈论它们。例如,比较快速排序和平滑排序时,两者的平均时间复杂度都是 O(nlogn),但他们说平滑排序最差,因为“它有更多隐藏常量”

这是什么意思?

【问题讨论】:

  • 谢谢,我很快就明白了这意味着什么。所以基本上,对于大符号 O(n) 和 0(2n) 是相同的,两者都表示为 O(n)。但是第二个比较慢,因为它有一个隐藏的常量

标签: constants hidden


【解决方案1】:

在分析算法的运行时间时会删除常数乘数。例如100*n 被标记为O(n),所以它是3*n。当有人谈论“隐藏”常量时,他们谈论的是这些被忽略的乘数。

值得注意的是,不仅“隐藏”常量而且操作的成本也极大地影响了实际运行时间。例如,10 个部门和分配可能需要比 20 个添加更长的时间。

【讨论】:

    猜你喜欢
    • 2018-03-18
    • 2011-11-02
    • 1970-01-01
    • 2011-03-10
    • 2014-08-28
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 2015-04-22
    相关资源
    最近更新 更多