源@サルノール:私の悪い。私はあなたがクイックソートと挿入の並べ替えについて話していると思った。源@CaseyRobinson:同じ記事の同じ段落から:大O表記の関数の説明は、通常、関数の成長率の上限を提供するだけです。Oh表記は上限ではありません。それは関数の漸近的挙動を特徴づける。源@デニス私たちは同じことを言っており、セマンティクスについて主張しています。表記法は、一般的に、大きな問題のパフォーマンスを特性化するために使用されますが、意図的に一定のファクターと追加のオフセットを無視します。これは重要なことです。i7で実行されるCプログラムと同じアルゴリズムとは大きく異なりますクラスのプロセッサ。インプリメンテーションの最適化も要因であることに注意してください。他のすべての要因が同じであっても、細かい部分に注意を払うと、パフォーマンスが大幅に向上することがあります。定数とオーバーヘッドは依然として重要です。N)の漸近的挙動は作用しません。挿入の並べ替えはシンプルであり、小さなリストの場合、一般的には比較的類似したクイックソートまたはマージソートよりも高速です。そのため、実用的なソートの実装は、一般に、単一の要素まですべてをリカーする代わりに、「ベースケース」の挿入ソートのようなものに戻ってしまうのです。bhuwansahni源バイナリの挿入ソートはどうですか?バイナリ検索を使用して、スワップする位置を絶対に検索することができます。Phát源スワップ位置は誤解です。挿入する位置で、スペースを取らなければなりません。ほとんどの場合、「配列」が暗示されています。位置」の片側に移動/コピーする必要があります。位置の反対側にある項目のキーを読み取ったことがあります。クリティカルパスへのキーアクセスには有害です。支配的で、バルクコピーの場合はより低い定数で、O(n)よりも[バイナリの挿入ポイント]のほうが効率的です。それはトレードオフです。あなたはこの状況で選択する必要があります。"array-copy"を実行するためのスペースが必要になります。