EeBlog(テクニカルブログ) :アルゴリズム

ソートアルゴリズム(4)

今回は選択ソートを紹介します。

選択ソートのアルゴリズムは最初の要素から順に最後の要素まで調べて一番小さい値(昇順の場合)を一番最初の要素と入れ替え、今度は2つ目の要素から最後の要素まで調べて一番小さい値を2番目の要素と入れ替え・・・ということを最後まで繰り返す、というものです。

これはO(n^2)のアルゴリズムで効率がとても悪いですが、アルゴリズムがとても単純で分かりやすいのが特徴です。

以下はJavaによる選択ソートアルゴリズムの実装例です。

(さらに…)

ソートアルゴリズム(3)

ノームソートを紹介します。

ノームソートは隣接する2つの要素を比較し、順序が正しければ次の要素へ、順序が逆であれば2つを入れ替えて前の要素へ移動する。という単純なアルゴリズムです。

(さらに…)

ソートアルゴリズム(2)

今回はシェーカーソートを紹介します。

シェーカーソートは前回紹介したバブルソートを改善したものです。 バブルソートで隣接する要素を比較していくときにすで順番に並んでいる部分を検出した場合にはその部分をソート済みにすることで性能を上げています。 またバブルソードでは一方向からのみ走査していましたがシェーカーソートでは走査を毎回反転することで反対側からもソート済み部分を検出することができます。

以下はJavaによる実装例です。

(さらに…)