アルゴリズムとプログラミング
平成29年度 秋期 基本情報技術者試験 午前 問5
A,B,C,D の順に到着するデータに対して,一つのスタックだけを用いて出力可能なデータ列はどれか。
- ア A,D,B,C
- イ B,D,A,C
- ウ C,B,D,A
- エ D,C,A,B
出典:平成29年度 秋期 基本情報技術者試験 午前 問5
答えと解説を見る
正解:ウ
覚える知識
スタックで出力可能なデータ列の判定
スタックは最後に入れたデータから先に取り出す後入れ先出し(LIFO)のデータ構造である。
この問題で必要なこと
スタックは後入れ先出しなので、A,B,C,Dの順にpush/popして得られる出力列かを、取り出し順に矛盾がないか調べて判定する。
ひっかけ
先に積んだデータを下から取り出すような、キュー的な出力順を誤って可能と判断させる。
この知識の出題:本試験系 2 回・免除試験 6 回(公開問題での観測値)