こんにちは、クルルです。資格試験の用語や学習内容について、サイト内の解説記事をもとにお答えします。気になることを聞いてください。
配列を半分ずつに分割し、整列しながら併合(マージ)していく分割統治法。
大きい配列、安定性が必要な場合。常に O(n log n)。
メモリを節約したい場合。作業用配列が必要。
| n | O(n) | O(n log n) | O(n²) |
|---|---|---|---|
| 10 | 約10 | 約33 | 約100 |
| 100 | 約100 | 約664 | 約10,000 |
| 1,000 | 約1,000 | 約9,966 | 約1,000,000 |
▶ マージソート:問題文に「分割して併合(マージ)」とあればマージソート。
| 問題文のキーワード | ソート |
|---|---|
| 隣接する要素を比較して交換 | バブルソート |
| 未整列部分から最小値を選ぶ | 選択ソート |
| 整列済み部分の正しい位置へ挿入 | 挿入ソート |
| pivot、基準値、左右に分割 | クイックソート |
| 分割して併合(マージ) | マージソート |
| 出現回数、count配列 | 計数ソート |