やまどり

ソートアルゴリズム可視化

バブル・選択・挿入・マージ・クイックソートをステップごとにアニメーション表示。

時間計算量 O(n²)空間計算量 O(1)安定性 安定

隣接要素を比較・交換しながら最大値を末尾へ移動させる。

要素数20
速度
通常比較中交換中ソート済みステップ: 0

ソートアルゴリズムについて

ソートアルゴリズムは配列を順序正しく並べ替えるアルゴリズムです。 時間計算量・空間計算量・安定性の3つが主な評価指標です。

各アルゴリズムの特徴

  • バブルソート O(n²): 最も単純。隣接要素を繰り返し交換。安定ソート。
  • 選択ソート O(n²): 最小値を選んで先頭から並べる。交換回数が少ない。不安定。
  • 挿入ソート O(n²): ほぼソート済みデータに強い。小規模データに実用的。安定ソート。
  • マージソート O(n log n): 分割統治法。安定ソートで最悪計算量が保証される。O(n) の追加メモリが必要。
  • クイックソート 平均 O(n log n): 実用的に最速クラス。ピボット選択が重要。最悪 O(n²)。不安定。

安定ソートとは

同じキーを持つ要素の相対順序がソート後も保たれる性質を「安定性」と言います。 バブル・挿入・マージソートは安定ソートですが、選択・クイックソートは一般に不安定です。

ソートの動きを比較する手順

  1. STEP 1アルゴリズムと要素数を選び、配列を生成します。
  2. STEP 2速度を調整して比較・交換・確定の動きを再生します。
  3. STEP 3同じ規模で別の方式へ切り替え、処理の違いを見比べます。

具体的な利用例

バブルソートが隣接要素を繰り返し交換する様子と、マージソートが分割後に併合する様子を視覚的に比較できます。授業の復習や実装前のアルゴリズム理解に向いています。

結果を見るときの注意点

アニメーション時間は描画待ちを含むため、実際の実行性能を測るベンチマークではありません。速度の評価では計算量だけでなく、入力分布、メモリ使用量、安定性、実装環境も考慮してください。

入力データの扱い

処理はこのブラウザ内で完結し、入力したテキストやファイルは変換・解析のために外部サーバーへ送信されません。共有端末を使う場合は、作業後に入力欄とクリップボードの内容も消去してください。