アルゴリズムとプログラミング

基本情報技術者試験 科目A免除 修了試験 20140622 実施分 問5

A,B,C,D の順に到着するデータに対して,一つのスタックだけを用いて出力可能なデータ列はどれか。
  • ア A,D,B,C
  • イ B,D,A,C
  • ウ C,B,D,A
  • エ D,C,A,B

出典:基本情報技術者試験 科目A免除 修了試験 20140622 実施分 問5

答えと解説を見る

正解:ウ

覚える知識

スタックで出力可能なデータ列の判定

スタックは後から入れたデータを先に取り出すLIFO構造のデータ構造である。

この問題で必要なこと

入力順A,B,C,Dに対しpush/popを組み合わせて得られる出力列かをLIFOで確かめる。C,B,D,Aは push A,B,C→pop C,B→push D→pop D,A で実現できる。

ひっかけ

A,D,B,C や D,C,A,B など、スタックの途中のデータを飛ばして取り出す不可能な列が混ぜてある。

この知識の出題:本試験系 2 回・免除試験 6 回(公開問題での観測値)

この知識をアプリで解いて覚える レッスン「スタックとキュー(LIFO と FIFO)」で学ぶ

同じ知識の過去問