很多人在比较算法时会谈论它们。例如,在比较quicksort和smoothsort时,两者的平均时间复杂度为O(nlogn),但是他们说smoothsort是最差的,因为“它有更多的隐藏常量”
这是什么意思?
答案 0 :(得分:0)
在分析算法的运行时间时,会丢弃常数乘数。例如,100*n
被标记为O(n)
,因此它是3*n
。当有人谈论“隐藏”常量时,他们正在谈论被忽略的这些乘数。
值得注意的是,不仅“隐藏”常量而且操作成本也会极大地影响实际运行时间。例如,10个分区和分配可能需要超过20个分区。