Pythonとか)ソートアルゴリズムソートアルゴリズムとはデータの集合を大小関係等の規則によって整列させるアルゴリズムを指します。プログラミングにおいてデータのソートは非常に重要で頻繁に使われます。そのため長い年月をかけて、様々なアルゴリズムが研究されています。前述のとおりソートアルゴリズムは様々な種類がありますが、代表的なものからいくつかを紹介していこうと思います。紹介するソートアルゴリズムは以下の通りです。バブルソート選択ソート挿入ソートシェルソートクイックソートマージソートヒープソートバケットソート基数ソートソートアルゴリズムの分類ソートアルゴリズムはいくつかの方法で分類することができます。安定ソート安定ソートとは、同等なデータについて、ソート前の順序がソート後も保持されるソートアルゴリズムを指します。氏名と年齢からなる以下のようなデータについて考えます。年齢が25で同じデータですが、ソート後の順序はどのようになるでしょうか。順で並ぶことが保証されるソートを、安定ソートと呼びます。領域しか必要としないソートを内部ソートと呼びます。内部ソートの例として、バブルソートがあります。バブルソートは要素の交換を繰り返しながらソートを行います。よって内部ソートに分類されます。内部ソートの例として、クイックソートが挙げられます。クイックソートは再帰的な呼び出しを用います。外部領域を必要としますが、これは分類上、内部ソートとされます。以上の外部領域を必要とするソートアルゴリズムを指します。マージソートが一例です。外部領域を必要とします。外部領域を必要とするため、外部ソートとなります。基準とした計算量でアルゴリズムを分類できます。増加したときに、どれだけ実行時間が増えるかの目安です。計算量は、最悪と平均をそれぞれ考慮する必要があります。計算量が小さいほうが、基本的には性能のよいアルゴリズムとなります。これはソート以外のアルゴリズムでも当てはまるものです。主だった、計算量の大小関係は以下の通りです。アルゴリズムは低速とされます。あとは条件次第で使い分けます。交換回数がバブルソートより少ない。取り方次第でO(n2)よりは高速になる。