【基本情報】逆ポーランド記法(RPN)変換のやり方をわかりやすく解説!

エンジニア

こんにちは!
今回は、プログラミングや情報処理技術者試験でもよく出てくる「逆ポーランド記法(後置記法)」の変換テクニックについて解説していきます。


🔁 逆ポーランド記法(RPN)とは?

中置記法:

普段の数式(例:a + b)のように「演算子(+)」が真ん中にある表記。

後置記法(逆ポーランド記法):

演算子が後ろに来る(例:a b +)記法。
スタック構造と相性がよく、括弧不要&計算順が明確というメリットがあります。


🧠 変換のコツ

  1. 最も内側のカッコから処理
  2. 演算子はオペランドの後ろに置く
  3. スタックや木構造で整理すると◎

🧪 変換例①:(a + b * c) - d

中置記法の意味:

a + (b * c) - d → b * c + a - d

ステップ分解:

  1. b * cb c *
  2. a + (b c *)a b c * +
  3. (a b c * +) - da b c * + d -

✅ 逆ポーランド表記:

a b c * + d -

🧪 変換例②:(a + (b * c)) - d

中置記法の意味:

括弧が少し深くなっただけで、実質①と同じ計算順。

ステップ分解:

  1. b * cb c *
  2. a + (b c *)a b c * +
  3. (a b c * +) - da b c * + d -

✅ 逆ポーランド表記:

a b c * + d -

🧪 変換例③:(a + b) * (c - d)

ステップ分解:

  1. a + ba b +
  2. c - dc d -
  3. (a b +) * (c d -)a b + c d - *

✅ 逆ポーランド表記:

a b + c d - *

🧪 変換例④:a + (b * (c - d))

ステップ分解:

  1. c - dc d -
  2. b * (c d -)b c d - *
  3. a + (b c d - *)a b c d - * +

✅ 逆ポーランド表記:

a b c d - * +

📚 まとめ

RPN(逆ポーランド記法)
(a + b * c) – da b c * + d -
(a + (b * c)) – da b c * + d -
(a + b) * (c – d)a b + c d - *
a + (b * (c – d))a b c d - * +

✅ 試験対策ポイント

  • 演算子は必ず後ろに!
  • 中から外へ変換するのがコツ!
  • スタックで「値を入れて、演算子が来たら計算して戻す」感覚で覚えると◎

✍️ 最後にひとこと

逆ポーランド記法は、見慣れないだけでルールはとてもシンプルです!
ちょっとした計算式で練習しておくと、基本情報や応用情報でもしっかり得点源になります。

タイトルとURLをコピーしました