修了試験 2014-06-22実施分 基本情報技術者試験 問5
A,B,C,Dの順に到着するデータに対して,一つのスタックだけを用いて出力可能なデータ列はどれか。
正答3
解説
正解は3です。 スタックは、後に入れたデータを先に取り出すLIFO(Last-In First-Out)のデータ構造です。 データはA、B、C、Dの順にしか入れられず、取り出せるのは常に一番上だけです。 【選択肢別解説】 1:× Aを入れてすぐ出し、次にDを出すにはB、C、Dを積む必要があります。 Dを出した後の一番上はCなので、Bを先に出すことはできません。 2:× A、Bを積んでBを出し、C、Dを積んでDを出します。 このとき一番上はCなので、Aを先に出すことはできません。 3:○ A、B、Cを積んでCを出し、続けてBを出します。 次にDを積んですぐ出し、最後に残ったAを出せば、C、B、D、Aの順になります。 4:× A〜Dをすべて積んでD、Cの順に出すと、一番上はBです。 Aを先に出すことはできません。 【ポイント】 スタックでは、ある要素を出した時点で、その下に積まれている要素は積んだ順の逆でしか出せません。 この性質を使うと、出力不可能な列をすばやく見分けられます。まとめて解く
修了試験 2014-06-22実施分を通しで解く(80問)→