逆ポーランド表記法
解説
ポイント
中置記法の式を構文木にして,逆ポーランド表記法に直す問題です。
考え方と解き方
いちばん最後に計算する演算子を木のてっぺん(根)に置き,「左 → 右 → 節」の順に書き出すと逆ポーランド表記法になります。
÷ は + より先に計算するので,A+B÷C は A +(B÷C)です。
- 式全体で最後に計算するのは ×。根は ×,左は A+B÷C,右は D-F
- 左側:最後に計算するのは +。その左は A,右は B÷C
- B÷C は「BC÷」。左側は A,BC÷,+ の順で「ABC÷+」
- 右側の D-F は「DF-」
- 最後に根の × を後ろにつけて「ABC÷+DF-×」
- 確かめ:左から読んで演算子が来たら直前の2つを計算すると,B÷C → A+(B÷C) → D-F → × の順で,もとの式と同じ。答えは ①
ほかの選択肢
②・⑤(AB+C÷ で始まる):(A+B)÷C の意味になり,÷ を先に計算する決まりに合いません。
④(演算子が前にある):演算子を前に書くポーランド表記法(前置記法)の形で,逆ポーランドではありません。
覚えておくこと
- 逆ポーランド表記法:「数,数,演算子」の順に書く。かっこが要らない
- 構文木を「左部分木 → 右部分木 → 節」の順(後行順)にたどると逆ポーランド表記法になる
- 先に計算するもの(×,÷,かっこの中)から書き出す。読むときは,演算子が来たら直前の2つを計算する
出典:令和3年度 技術士第一次試験 基礎科目 I-2-5(公益社団法人日本技術士会) ジャンル:情報・アルゴリズム