いくつかのソートアルゴリズムを理解しようとしていますが、バブルソートと挿入ソートのアルゴリズムの違いを理解するのに苦労しています。
両方ともO(n 2)であることは知っていますが、バブルソートでは、パスごとに配列の最大値が一番上にバブルされ、挿入ソートでは、パスごとに最小値が一番下に沈むように見えます。彼らはまったく同じことをしているのではありませんが、異なる方向に向かっていますか?
挿入ソートの場合、比較/潜在的なスワップの数はゼロから始まり、毎回増加します(つまり、0、1、2、3、4、...、n)が、バブルソートの場合、これと同じ動作が発生しますが、バブルソートは、ソート時に最後の要素と比較する必要がなくなったため、ソート(つまり、n、n-1、n-2、... 0)。
しかし、これらすべてについて、一般的に挿入ソートの方が優れているというコンセンサスのようです。誰か教えてもらえますか?
編集:私は主に、アルゴリズムの効率や漸近的な複雑さではなく、アルゴリズムの動作の違いに関心があります。