スポンサーリンク

問題の解答・解説ページ

このページは解説の閲覧モードです。
実力試しをしたい方は、下のボタンからクイズに挑戦してください!

この問題をクイズ形式で解く
問題 No.4070
未整列のデータから最小値(または最大値)を探索し、それを先頭(または末尾)の要素と交換する操作を繰り返すことで整列を行うアルゴリズムはどれか。

【正解の解説】

選択ソート

これは机の上にバラバラに置かれたトランプのカードから、一番小さい数字を一枚ずつ見つけ出して左から順番にきれいに並べていく作業と同じです。全体の中から最も小さいものを選び出す動作を繰り返すため、直感的で分かりやすいですが、データ量が増えると時間がかかる特徴があります。

スポンサーリンク

【その他の選択肢の解説】

バブルソート

これは水面に向かって泡がブクブクと上がっていくように、大きな値が端へ移動していく様子から名付けられたアルゴリズムです。最小値を選んで先頭に持ってくる選択ソートとは異なり、隣同士の比較を何度も行う点が決定的な違いであり、試験でもよく混同されるので注意が必要です。

挿入ソート

これはトランプを手に持ったまま、新しく引いたカードをすでに並べられた手札の正しい隙間にスッと差し込んでいく動作に似ています。全体から最小値を探す選択ソートとは異なり、少しずつ整列済み範囲を広げながら正しい位置を見つける点が大きく異なるポイントです。

クイックソート

これはクラス全員を身長順に並ばせるときに、ある基準の生徒を真ん中にして「自分より高い人」「低い人」のグループにパパッと分けていく高速な手法です。1つずつ最小値を探して地道に並べ替える選択ソートに比べて非常に処理が早いですが、アルゴリズムの仕組みは少し複雑になります。