実践問題
解答&解説は第1問から第10問までを列挙しています。
まず問題を解いてから解答&解説を見ることを推奨します。
第1問
配列 7, 3, 5, 2 に対して、昇順のバブルソートを1回(先頭から末尾まで1巡)行った後の配列はどれか。
A. 3, 5, 2, 7
B. 2, 3, 5, 7
C. 3, 7, 2, 5
D. 7, 3, 2, 5
解答&解説はこちら
第2問
未整列部分から最小値を選び、整列済み部分の末尾に配置していく方式はどれか。
A. バブルソート
B. 選択ソート
C. 挿入ソート
D. クイックソート
解答&解説はこちら
第3問
挿入ソートの特徴として最も適切なものはどれか。
A. 基準値で分割しながら整列する
B. 左側を整列済みとして要素を適切な位置に挿入する
C. 毎回最大値を末尾へ送る
D. 半分に分割して最後に併合する
解答&解説はこちら
第4問
平均計算量が O(nlogn) となるものはどれか。
A. バブルソート
B. 選択ソート
C. クイックソート
D. 挿入ソート
解答&解説はこちら
第5問
配列 8, 4, 6, 2 に対して選択ソートを1回行った後の配列はどれか。
A. 4, 8, 6, 2
B. 6, 4, 8, 2
C. 2, 4, 6, 8
D. 2, 4, 8, 6
解答&解説はこちら
第6問
クイックソートに関する説明として正しいものはどれか。
A. 必ず O(nlogn) になる
B. 基準値の選び方によって性能が変わる
C. 隣接要素だけを交換する
D. 追加の配列領域が必須である
解答&解説はこちら
第7問
配列 4, 2, 5, 3 に対して挿入ソートで2番目の要素まで処理した時点の状態はどれか。
A. 2, 4, 5, 3
B. 4, 2, 5, 3
C. 2, 5, 4, 3
D. 2, 3, 4, 5
解答&解説はこちら
第8問
マージソートの特徴として適切なものはどれか。
A. 隣接要素の交換を繰り返す
B. 未整列部分から最大値を選択する
C. 配列を分割し、整列後に併合する
D. 先頭から順に適切位置へ挿入する
解答&解説はこちら
第9問
ほぼ整列済みのデータに対して比較的効率が良いものはどれか。
A. 挿入ソート
B. 選択ソート
C. バブルソート
D. マージソート
解答&解説はこちら
第10問
あるソート処理の途中結果が次のようになった。
9, 4, 7, 2
↓4, 7, 2, 9
この1回の処理として最も考えられるものはどれか。
A. バブルソート
B. 選択ソート
C. 挿入ソート
D. マージソート
解答&解説はこちら
解答&解説
解答:第1問
答え:A
1巡すると、
- 7と3 → 交換
- 7と5 → 交換
- 7と2 → 交換
→ 3, 5, 2, 7
バブルソートは最大値が末尾へ移動します。
解答:第2問
答え:B
未整列部分から最小値を選んで先頭側に確定していくのが選択ソートです。
解答:第3問
答え:B
挿入ソートは、左側を整列済みとして現在の要素を正しい位置へ差し込みます。
トランプを並べる感覚です。
解答:第4問
答え:C
クイックソートの平均計算量は O(nlogn)。
バブル・選択・挿入は基本 O(n²) です。
解答:第5問
答え:C
ここ、試験で大事なポイントです。
配列 8, 4, 6, 2 の未整列部分全体から最小値 2 を探し、先頭の 8 と交換します。
→ 2, 4, 6, 8
ただし、1回でたまたま全体が整列しただけです。
選択ソートの1回は「先頭が確定する」処理です。
解答:第6問
答え:B
クイックソートは 基準値の選び方で分割効率が変わります。
偏ると 最悪 O(n²) になります。
解答:第7問
答え:A
4, 2, 5, 3
2番目の要素 2 を左側に挿入。
→ 2, 4, 5, 3
ここでは左側2要素が整列済みになります。
解答:第8問
答え:C
マージソートは
- 半分に分割
- それぞれ整列
- 最後に併合
という流れです。
解答:第9問
答え:A
挿入ソートは、ほぼ整列済みなら移動量が少なく効率が良くなります。
解答:第10問
答え:A
9, 4, 7, 2
1巡で、
- 9と4 → 交換
- 9と7 → 交換
- 9と2 → 交換
→ 4, 7, 2, 9
最大値が末尾に移動しているのでバブルソートです。

コメント