Q.あるデータ列を整列したら状態0から順に状態1,2,・・・,Nへと推移した。
整列に使ったアルゴリズムはどれか。

 状態0 3,5,9,6,1,2
 状態1 3,5,6,1,2,9
 状態2 3,5,1,2,6,9
     ・
     ・
 状態N 1,2,3,5,6,9

データベーススペシャリスト 令和5年秋期 午前Ⅰ 問3
  1. クイックソート
  2. 挿入ソート
  3. バブルソート
  4. ヒープソート

バブルソート

バブルソートは、隣り合った要素を比較して順序が正しくない場合に交換し、繰り返すことでデータを整列するアルゴリズムです。各操作で未整列データの中から最大値または最小値が確定します。例えば、1回目の操作で最大値の"9"が末尾に移動し、2回目の操作で次に大きい"6"がその手前に移動します。このように端から順に確定していくので、これはバブルソートです。

クイックソートはデータを基準値で分割し、さらに各グループを分割して整列しますが、今回の状態変化にはグループ化の様子が見られません。

挿入ソートは未整列部分から要素を取り出し、整列済み部分に挿入しますが、末尾からの整列が今回の状態変化とは異なります。

ヒープソートはデータを順序木として表現し、根の値を取り出す操作を繰り返しますが、今回のデータは順序木として表現されていません。