Quicksort vs Merge sort
Quicksort vs merge sort compared — speed, memory, stability and worst case, with interactive visualizers.
Quicksort partitions around a pivot in place and is usually the fastest in practice; merge sort splits and merges with guaranteed O(n log n) and stability, at the cost of extra memory.
Quicksort vs Merge sort at a glance
| Quicksort | Merge sort | |
|---|---|---|
| Average time | O(n log n) | O(n log n) |
| Worst case | O(n²) | O(n log n) |
| Memory | In place | O(n) extra |
| Stable | No | Yes |
When to use Quicksort
Use quicksort as a fast in-place default for arrays where worst case is unlikely.
When to use Merge sort
Use merge sort when you need guaranteed O(n log n), stability, or are sorting linked lists.
Tools for Quicksort & Merge sort
クイックソート・ビジュアライザー
ピボットとパーティションをハイライト表示しながらクイックソートをアニメーション表示。ステップ実行、速度調整、カスタム入力、リアルタイムのカウンター、擬似コードにも対応。ブラウザ上ですぐに動かせます。
ツールを開くマージソート ビジュアライザー
マージソートの動きをアニメーションで再現するツールです。ステップ実行、速度調整、独自のデータ入力、比較・書き込み回数のリアルタイム表示、擬似コード表示に対応。すべてブラウザ上だけで動作します。
ツールを開くヒープソート ビジュアライザー
ヒープソートのアルゴリズムをアニメーションで可視化。ステップ実行や速度調整、入力データのカスタマイズ、比較・交換回数のライブカウント、擬似コード表示に対応。ブラウザだけでその場に動かせます。
ツールを開くバブルソート ビジュアライザー
バブルソートの動きをアニメーションで確認できるツール。ステップ実行や速度調整、カスタム入力データ、比較・交換回数のリアルタイム表示、擬似コードの表示に対応しています。すべてブラウザ内だけで動作します。
ツールを開くQuicksort vs Merge sort
バブルソートとは何ですか?
バブルソートは、リストを繰り返し走査しながら隣り合う要素を比較し、順序が正しくなければ交換していくアルゴリズムです。1回の走査が終わるたびに、次に大きい値が最終的な位置に確定します。
バブルソートの時間計算量はどれくらいですか?
平均・最悪ケースではO(n²)です。これは二重ループ構造によるものです。すでに整列済みの配列であれば最良ケースのO(n)となり、交換が一度も発生しなければ早期終了する最適化版も存在します。
バブルソートは安定ソートですか?
はい、安定です。比較条件が「厳密に大きい場合」のみ交換を行うため、値が等しい要素同士の相対的な順序は保たれます。
バブルソートはどんな場面で使うべきですか?
実務でバブルソートを使う場面はほとんどありません。これは教育目的のアルゴリズムです。実際の処理には言語標準のソート関数(Timsortやintrosortなど)を使うべきです。比較・交換・安定性といった概念を学ぶ上での価値があります。