バブルソート ビジュアライザー
バブルソートの動きをアニメーションで確認できるツール。ステップ実行や速度調整、カスタム入力データ、比較・交換回数のリアルタイム表示、擬似コードの表示に対応しています。すべてブラウザ内だけで動作します。
Code examples
Ready-to-copy reference implementations. Free to use in your own projects and assignments.
使い方
- 1 Playを押すと配列が自動で並び替えられます。Stepを押せば1回の比較ずつ進めることもできます。
- 2 Sizeで列の数を増減し、Speedでアニメーションの速さを調整します。
- 3 Custom inputに任意の数値を入力してApplyを押すと、その配列でソートを実行します。
- 4 ハイライトされる擬似コードの行と、リアルタイムで更新される比較・交換回数を確認しましょう。
このツールを使う理由
- 隣接する要素の比較・交換によって、1回のパスごとに最大値が末尾へ押し出されていく様子を正確に見ることができます。
- 各ステップを前後に移動しながら確認できるため、ブラックボックス化する部分がありません。
- 配列サイズが大きくなるほど比較回数が増えることを数値で示し、バブルソートがO(n²)になる理由を体感できます。
- すべてブラウザ内で完結します。登録もアップロードも不要です。
よくある質問
バブルソートとは何ですか?
バブルソートは、リストを繰り返し走査しながら隣り合う要素を比較し、順序が正しくなければ交換していくアルゴリズムです。1回の走査が終わるたびに、次に大きい値が最終的な位置に確定します。
バブルソートの時間計算量はどれくらいですか?
平均・最悪ケースではO(n²)です。これは二重ループ構造によるものです。すでに整列済みの配列であれば最良ケースのO(n)となり、交換が一度も発生しなければ早期終了する最適化版も存在します。
バブルソートは安定ソートですか?
はい、安定です。比較条件が「厳密に大きい場合」のみ交換を行うため、値が等しい要素同士の相対的な順序は保たれます。
バブルソートはどんな場面で使うべきですか?
実務でバブルソートを使う場面はほとんどありません。これは教育目的のアルゴリズムです。実際の処理には言語標準のソート関数(Timsortやintrosortなど)を使うべきです。比較・交換・安定性といった概念を学ぶ上での価値があります。
バブルソート ビジュアライザー とは?
バブルソート ビジュアライザーは、バブルソートアルゴリズムの動きをアニメーションで見せるインタラクティブなツールです。隣り合う要素同士の比較と交換を一つひとつ表示し、最大値が徐々に配列の末尾へ「浮かび上がって」いく様子を確認できます。実行中の擬似コード行をハイライトし、比較回数・交換回数をカウントすることで、バブルソートがなぜO(n²)の計算量になるのかを直感的に理解できます。
機能
ステップバイステップアニメーション
速度調整とカスタム入力で、すべての比較とスワップを確認できます。
計算量
時間計算量:最良O(n)(ソート済み、早期終了あり)、平均/最悪O(n²)。空間計算量:O(1)。安定、インプレース。
100%プライベート
すべてブラウザ内で完結し、データはアップロードされません。
例
Input
[5, 1, 4, 2]
Output
Pass 1 → [1, 4, 2, 5]; Pass 2 → [1, 2, 4, 5] (sorted)
主な用途
-
1
ソートの基礎を学ぶ
隣接要素のスワップによるソートがなぜO(n²)になるのか、スワップがどのように伝播するのかを確認できます。
-
2
比較とスワップを教える
小さな配列における比較回数とスワップ回数を示します。
-
3
より高速なソートアルゴリズムと比較する
バブルソートをマージソートやクイックソートと比較し、O(n log n)の意義を示します。
Zerethonのバブルソート可視化ツールは、アルゴリズムをブラウザ上で1ステップずつアニメーション表示し、隣接する要素の比較とスワップによって大きな値が末尾へと浮かび上がっていく様子を示します。バブルソートは平均・最悪ケースでO(n²)の時間計算量、早期終了(early-exit)を用いればソート済み配列に対してはO(n)、追加の空間計算量はO(1)であり、安定(stable)かつインプレース(in-place)なアルゴリズムです。主に教育用のアルゴリズムであり、実用ではより高速なソートアルゴリズムを使用してください。
- カテゴリ
- アルゴリズム
- 料金
- 無料
- プライバシー
- ブラウザベース
- 登録
- 不要
参考文献
- MIT OCW 6.006 — アルゴリズム入門(CLRS) — MIT OpenCourseWare
- VisuAlgo — ソート — VisuAlgo (NUS)
- バブルソート — Wikipedia
プライバシー
明記されない限り、データがブラウザの外に送信されることはありません。バブルソート ビジュアライザー は完全にクライアント側で動作します — サーバーへのアップロードなし、ログなし、入力内容のトラッキングなし。
初めての方へ。Big-O 解析付きのステップバイステップ解説を読む: Sorting Algorithms を学ぶ →
比較
関連ツール
挿入ソート(Insertion Sort)ビジュアライザー
挿入ソートをアニメーションで可視化。ステップ実行や速度調整、カスタム入力、比較回数・書き込み回数のリアルタイム表示、疑似コード(pseudocode)表示に対応。すべてブラウザ内で完結します。
ツールを開く選択ソート(Selection Sort)ビジュアライザー
ステップ実行、速度調整、カスタム入力、比較/交換回数のライブカウンター、擬似コードを備えたSelection Sortのアニメーション。すべてブラウザ内だけで完結します。
ツールを開くマージソート ビジュアライザー
マージソートの動きをアニメーションで再現するツールです。ステップ実行、速度調整、独自のデータ入力、比較・書き込み回数のリアルタイム表示、擬似コード表示に対応。すべてブラウザ上だけで動作します。
ツールを開くクイックソート・ビジュアライザー
ピボットとパーティションをハイライト表示しながらクイックソートをアニメーション表示。ステップ実行、速度調整、カスタム入力、リアルタイムのカウンター、擬似コードにも対応。ブラウザ上ですぐに動かせます。
ツールを開くZerethon Social で作成・共有・成長しよう
無料登録。ポイントを獲得し、実績を集め、世界中のクリエイターとつながりましょう。