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)とO(2n)が同じ場合、両方ともO(n)として表されます。しかし、隠れた定数があるため、2番目の方が遅くなります – Imnewhere