修了試験 2024-07-28実施分 基本情報技術者試験 問5
A,B,C,Dの順に到着するデータに対して,一つのスタックだけを用いて出力可能なデータ列はどれか。
正答3
解説
正解は3です。 スタックは、最後に入れたデータを最初に取り出すLIFO(Last In First Out:後入れ先出し)のデータ構造です。 データはA、B、C、Dの順にしか積めないので、各選択肢を積む・取り出すの操作でたどれるかを確かめます。 【選択肢別解説】 1:× 実現できません。 Aを積んで取り出した後、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です。 Bより下にあるAを先に取り出すことはできません。 【ポイント】 ある要素を取り出した時点で、それより前に積まれて残っている要素は、逆順でしか出てきません。 この性質に反する並びを探すと速く判定できます。 先入れ先出しのキュー(FIFO:First In First Out)との違いも頻出です。まとめて解く
修了試験 2024-07-28実施分を通しで解く(60問)→