0
很多人在比較算法時都會談論它們。例如,當比較quicksort和smoothsort時,它們的平均時間複雜度爲O(nlogn),但他們認爲smoothsort是最糟糕的,因爲「它具有更多隱藏常量」這是什麼意思?什麼是「隱藏常量」?
很多人在比較算法時都會談論它們。例如,當比較quicksort和smoothsort時,它們的平均時間複雜度爲O(nlogn),但他們認爲smoothsort是最糟糕的,因爲「它具有更多隱藏常量」這是什麼意思?什麼是「隱藏常量」?
分析算法的運行時間時會丟棄常數乘數。例如100*n
被標記爲O(n)
,因此它的編號爲3*n
。當有人談論「隱藏」的常量時,他們正在談論這些被忽略的乘數。
值得一提的是,不僅「隱藏」常量也是運營成本極大地影響了實際運行時間。例如,10個部門和任務可能需要超過20個添加。
相關:http://stackoverflow.com/questions/22188851/why-is-constant-always-dropped-from-big-o-analysis – Caramiriel
謝謝,我很快理解這是什麼意思。所以基本上,對於大O表示O(n)和0(2n)是相同的,兩者都表示爲O(n)。但是第二個是較慢的,因爲它有一個隱藏的常量 – Imnewhere