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

平成25年度 春期 基本情報技術者試験 午前 問6

図は,逆ポーランド表記法で書かれた式 abcd+++ をスタックで処理するときのスタックの変化の一部を表している。この場合,スタックの深さは最大で 4 となる。最大のスタックの深さが最も少ない逆ポーランド表記法の式はどれか。
スタックの変化(下から上へ積む): [a, b, c, d] → [a, b, c+d] → [a, b+c+d] → [a+b+c+d]
  • ア ab+c+d+
  • イ ab+cd++
  • ウ abc++d+
  • エ abc+d++

出典:平成25年度 春期 基本情報技術者試験 午前 問6

答えと解説を見る

正解:ア

覚える知識

逆ポーランド表記(後置表記)の式変換

逆ポーランド表記は演算子を被演算子の後ろに置く記法で、スタックで左から順に評価できる。

この問題で必要なこと

後置表記は左から読み、オペランドはpush、演算子は上2つをpopして計算し結果をpushする。演算子を早く挟む式ほどスタックが浅い。

ひっかけ

abcd+++のように全オペランドを先に積む式を選ぶと深さが最大になる。

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

この知識をアプリで解いて覚える レッスン「式の表し方とスタックの応用」で学ぶ

同じ知識の過去問