平成28年秋期試験問題 問92

問92 解説へ
note_alt
calculate
後に入れたデータが先に取り出されるデータ構造(以下,スタックという)がある。これを用いて,図に示すような,右側から入力されたデータの順番を変化させて,左側に出力する装置を考える。この装置に対する操作は次の3通りである。
  1. 右側から入力されたデータをそのまま左側に出力する。
  2. 右側から入力されたデータをスタックの1番上に積み上げる。
  3. スタックの1番上にあるデータを取り出して左側に出力する。
 この装置の右側から順番にデータ A,B,C,D を入力した場合に,この①~③の操作を組み合わせても,左側に出力できない順番はどれか。
92.png/image-size:228×119

  • B,A,D,C
  • B,D,C,A
  • C,B,D,A
  • C,D,A,B
正解 エ問題へ
テクノロジ系
アルゴリズムとプログラミング
データ構造
解説

Cを最初に出すにはAとBをスタックへ退避し、Cを出します。その後Dも出せますが、スタックは上がB、下がAなのでAを先には出せません。

したがってC、D、A、Bは不可能です。後に積んだBが先に出るというLIFOの制約が、最後の二つの順序を決めます。

▲
Pagetop