2024年 春期 応用情報技術者 午前 問7

整列方法に関するアルゴリズムの記述のうち、バブルソートの記述はどれか。 ここで、整列対象は重複のない1から9の数字がランダムに並んでいる数字列とする。

 ア  数字列の最後の数字から最初の数字に向かって、隣り合う二つの数字を比較して小さい数字が前に来るように数字を入れ替える操作を繰り返し行う。
 イ  数字列の中からランダムに基準となる数を選び、基準とより小さい数と大きい数の二つのグループに分け、それぞれのグループ内も同じ操作を繰り返し行う。
 ウ  数字列をほぼ同じ長さの二つの数字列のグループに分割していき、分割できなき亡くなった時点から、グループ内で数字が小さい順に並べる処理を繰り返し行う。
 エ  未処理の数字列の中から最小値を探索し、未処理の数字列の最初の数字と入れ替える処理を繰り返し行う。


答え ア


解説

 ア  数字列の最後の数字から最初の数字に向かって、隣り合う二つの数字を比較して小さい数字が前に来るように数字を入れ替える操作を繰り返し行うのは、バブルソートです。(〇)
 イ  数字列の中からランダムに基準となる数を選び、基準とより小さい数と大きい数の二つのグループに分け、それぞれのグループ内も同じ操作を繰り返し行うのは、クイックソートです。(×)
 ウ  数字列をほぼ同じ長さの二つの数字列のグループに分割していき、分割できなき亡くなった時点から、グループ内で数字が小さい順に並べる処理を繰り返し行うのは、マージソートです。(×)
 エ  未処理の数字列の中から最小値を探索し、未処理の数字列の最初の数字と入れ替える処理を繰り返し行うのは、ヒープソートです。(×)


キーワード
・整列方法

キーワードの解説
  • 整列方法(ソート)
    データの並び替えのことで様々な方法がある。
    • クイックソート
      ソートするデータから、適当な数を選択し、データをその数より大きいほうと小さいほうに分け、分けたデータに対し、この操作を繰り返す。
    • シェルソート
      適当に間隔を開けたデータを取り出し並び替えを行い、間隔を小さくしながらこの操作を繰り返す。
    • バブルソート
      n個のデータに対して、データの1番目と2番目を比較し順番が逆なら入れ替え、次に2番目と3番目で比較し、…、n-1番目とn番目で比較を行う。(n番目のデータの整列)
      その次に、1番目と2番目、2番目と3番目、…、n-2番目とn-1番目。(n-1番目のデータの整列)
      その次に、1番目と2番目、2番目と3番目、…、n-3番目とn-2番目。(n-2番目のデータの整列)
      この処理を繰り返し行い整列する。
    • ヒープソート
      未整列のデータから要素を1個づつ取り出し、ヒープ構造を作りながらデータのソートを行う。
    • マージソート
      データ列を2分割し、2分割したデータ列に対しソートを行い、分割したデータ列を合わせて(マージして)ソートを行う。
    なお、どのソートを使用するかは、ソートを行うデータの構造によっても変わってきます。

もっと、「整列方法」について調べてみよう。

戻る 一覧へ 次へ