閉じる

ITパスポート平成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