やまどり

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

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

時間計算量 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²)。不安定。

安定ソートとは

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