アルゴリズム学習/選択ソート

選択ソート

選択ソートは、配列全体から最小値を「選択」して先頭の値と交換する方式のソートアルゴリズムです。

易しいソート基礎インプレースソートO(n²)

定義

選択ソートは、配列から最小値を見つけて先頭の値と交換する過程を繰り返してソートするアルゴリズムです。

主な特性

  • 毎ラウンド残りの配列から最小値を「選択」 - 名前の由来
  • 交換回数が少ない - 最大n-1回のみ交換(メモリ書き込みが高価な環境に有利)
  • 不安定ソート - 同じ値の順序が変わることがある
  • 入力データに関係なく常にO(n²) - すでにソート済みの配列でもすべての比較を実行

活用事例

こんな場面で使われます:

💾

メモリ書き込みが高価な環境

フラッシュメモリのように書き込み回数が制限されたストレージで交換回数を最小化

📚

教育用アルゴリズム

ソートアルゴリズムの基本原理を理解しやすいシンプルな構造

🔢

小規模データセット

データサイズが小さい場合、シンプルで実装が簡単な選択ソートが効率的

主な操作

主な操作:

最小値探索

O(n)

ソートされていない部分から最小値の位置を探します。

値交換

O(1)

見つけた最小値を現在のソート位置の値と交換します。

計算量

時間計算量

最良
O(n²)
平均
O(n²)
最悪
O(n²)

空間計算量

O(1)

可視化でより深く理解する

ステップごとのアニメーションとコード実行を通じて、アルゴリズムの動作を直接確認してください。

可視化を開始