Q.あるデータ列を整列したら状態0から順に状態1,2,・・・,Nへと推移した。
整列に使ったアルゴリズムはどれか。状態0 3,5,9,6,1,2
データベーススペシャリスト 令和5年秋期 午前Ⅰ 問3
状態1 3,5,6,1,2,9
状態2 3,5,1,2,6,9
・
・
状態N 1,2,3,5,6,9
- クイックソート
- 挿入ソート
- バブルソート
- ヒープソート
バブルソート
バブルソートは、隣り合った要素を比較して順序が正しくない場合に交換し、繰り返すことでデータを整列するアルゴリズムです。各操作で未整列データの中から最大値または最小値が確定します。例えば、1回目の操作で最大値の"9"が末尾に移動し、2回目の操作で次に大きい"6"がその手前に移動します。このように端から順に確定していくので、これはバブルソートです。
クイックソートはデータを基準値で分割し、さらに各グループを分割して整列しますが、今回の状態変化にはグループ化の様子が見られません。
挿入ソートは未整列部分から要素を取り出し、整列済み部分に挿入しますが、末尾からの整列が今回の状態変化とは異なります。
ヒープソートはデータを順序木として表現し、根の値を取り出す操作を繰り返しますが、今回のデータは順序木として表現されていません。