私は、挿入ソートアルゴリズムでバイナリ検索を使用することについて簡単な質問があります。より正確には、通常の挿入ソートの各ステップで、以前の(ソートされた)サブアレイ内のすべての要素と線形比較するのではなく、そのソート済みサブアレイ内のバイナリ検索を使用して、バイナリの挿入の並べ替えと複雑さ
これは、アルゴリズムが(O(n)の代わりにO(log n))の比較回数を減らしたが、各ステップで必要なスワップの数が依然として支配的であり、^2)。
また、複雑さは実行時間にあまり関係しないことも知っています。私は両方のアルゴリズムの実行時間をn(配列サイズ)の「小さな」値、約500000まで比較しようとしました。バイナリの挿入の並べ替えは、通常の挿入の並べ替えよりも常に高速でした。
両方がO(n^2)であるという事実は、nが十分に大きくなると、実行時間も同様でなければならない、ということを私に伝えます。このような状況で、実際に同じような稼働時間が見られるようにするには、「十分な大きさ」とは何かに関する考えはありますか?
実際には、nが十分に大きくなると、実行時間は似ているはずはありません。つまり、nが無限に近づくと、両者はほぼ同じ速度で無限の実行時間に近づくことになります。 –