「バブルソートとクイックソートってどちらも並べ替え(ソート)だよね?」
応用情報技術者試験でもアルゴリズム分野で頻出ですが、
- 何が違うの?
- どちらが速い?
- クイックソートはなぜ速い?
- 計算量は?
で混乱する人がかなり多いテーマです。
この記事では、
- バブルソートとは?
- クイックソートとは?
- 違い
- 計算量
- 試験での頻出ポイント
を分かりやすく解説します!
まず結論
バブルソート
「隣同士を比較して交換する」
クイックソート
「基準値を決めてグループ分けする」
超簡単にいうと
| 手法 | 考え方 |
|---|---|
| バブルソート | 少しずつ交換 |
| クイックソート | 一気に分割 |
ソートとは?
まずはここから!
ソートとは
データを順番に並べる処理
のこと。
例
5 2 8 1
↓
1 2 5 8
バブルソートとは?
超頻出!
方法
隣り合うデータを比較して交換する。
例
5 2 8 1
1回目
5 2
↓
2 5
続けると
2 5 1 8
さらに繰り返す。
最終結果
1 2 5 8
イメージ
大きい値が
泡(Bubble)のように
後ろへ移動
特徴
- 実装が簡単
- 学習用として有名
デメリット
重要!
遅い
大量データには不向き。
クイックソートとは?
超頻出!
方法
基準値(ピボット)を決める。
例
5 2 8 1
ピボット
5
分割
2 1 | 5 | 8
さらに
2 1
を再分割。
最終結果
1 2 5 8
イメージ
基準値で
グループ分け
↓
再帰的に整理
特徴
重要!
非常に高速
実務でもよく利用される。
バブルソートとクイックソートの違い
超頻出!
| 比較 | バブルソート | クイックソート |
|---|---|---|
| 方法 | 隣同士を交換 | 基準値で分割 |
| 実装 | 簡単 | やや複雑 |
| 速度 | 遅い | 速い |
| 実務利用 | 少ない | 多い |
イメージで理解
バブルソート
順番に並び替える
クイックソート
先にグループ分けする
計算量
応用情報で頻出!
バブルソート
データ数が増えると急激に遅くなる。
クイックソート
平均
非常に高速。
計算量比較
例
1000件
バブルソート
約100万回比較
クイックソート
約1万回程度
大きな差になる。
クイックソートの弱点
発展知識!
最悪の場合
になる。
例えば
1 2 3 4 5
のようなデータで
不適切なピボットを選ぶ場合。
試験での覚え方
超重要!
バブルソート
泡のように浮かぶ
クイックソート
分割して攻略
応用情報で超頻出
かなり狙われる👇
- バブルソート
- クイックソート
- 計算量
- O(n²)
- O(n log n)
- 再帰処理
よくあるひっかけ
「クイックソートは常にO(n log n)」
→ ❌違う!
最悪ケースでは
O(n²)
になる。
1分で復習!
バブルソート
隣同士を交換
クイックソート
基準値で分割
バブルソート
O(n²)
クイックソート
平均O(n log n)
超重要
バブル=交換
クイック=分割
練習問題
問題
クイックソートの特徴として最も適切なものはどれか。
ア
隣接データを順次交換する
イ
基準値を用いてデータを分割する
ウ
データを後ろから探索する
エ
必ずO(n)で動作する
解答
正解:イ
解説
クイックソートはピボット(基準値)を選び、それより小さいグループと大きいグループに分割しながら並べ替えるアルゴリズムです。
まとめ
バブルソートとは
「隣同士を交換する」
クイックソートとは
「基準値で分割する」
超重要
- バブルソート=O(n²)
- クイックソート=平均O(n log n)
- バブル=交換
- クイック=分割
- クイックソートは実務でも頻出
まずは、
「バブルソート=1人ずつ席替え」
「クイックソート=先にグループ分けして席替え」
このイメージを持つとかなり理解しやすくなります!
知識に自信ができた方は、今度は自身のキャリアアップに向けて準備してみませんか?

未経験から、ITエンジニアへ。
「IT業界に興味はあるけれど、自分にできるか不安」「何から始めればいいのか分からない」そんな方のために、Tech GO は未経験からのIT転職を専門的にサポートします。求人を紹介するだけではなく、あなたの強みを整理し、応募準備から入社後の成…
まずは無料でキャリア相談

コメント