メインコンテンツへスキップ
Z

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など)を使うべきです。比較・交換・安定性といった概念を学ぶ上での価値があります。