逆ポーランド記法(reverse Polish notation)

演算子を、計算する2つの数の後ろに書く記法。かっこを使わずに計算の順番を表せる。

もう少し詳しい説明

逆ポーランド記法は、演算子を、計算する2つの数の後ろに書く記法です。後置記法とも呼びます。

ふだんの書き方(中置記法)と並べると、こうなります。

ふだんの書き方逆ポーランド記法
A + BA B +
(A + B) × CA B + C ×
A + B × CA B C × +

2行目と3行目を見比べてください。ふだんの書き方では、かっこがあるかないかで計算の順番が変わります。逆ポーランド記法では、かっこがなくても、並び順だけで計算の順番が決まります。

どうやって計算するのか

逆ポーランド記法は、スタック(後に入れたものから先に取り出す入れ物)を使うと、左から順に読むだけで計算できます。

ルールは2つだけです。

「3 4 + 5 ×」を計算してみます。

3 を積む34 を積む34+ で2つを足す75 を積む75× で2つを掛ける35
「3 4 + 5 ×」を左から1つずつ読んでいきます。数が来たら積み、演算子が来たら上の2つを取り出して計算し、答えを積み直します。最後に1つだけ残った35が答えです。かっこがなくても、計算の順番は並びだけで決まります。

+ が来た時点で、上の2つ(3 と 4)を取り出して足し、7 を積み直しています。× も同じで、7 と 5 を取り出して掛けています。

最後に1つだけ残った 35 が答えです。ふだんの書き方にすると (3 + 4) × 5 で、確かに35になります。

先読みも、かっこの対応を探す必要もありません。 左から1つずつ読むだけで済むので、コンピュータが式を計算するときの形として使われます。

ふだんの書き方から直す手順

かっこの内側から、演算子を後ろへ移していくのが確実です。

(A + B) × (C − D) で試します。

  1. 左のかっこ (A + B) → A B +
  2. 右のかっこ (C − D) → C D −
  3. この2つを × でつなぐので、× を最後に置く → A B + C D − ×

かっこがない式では、掛け算・割り算を先にまとめます。A + B × C なら、先に B × C を「B C ×」にしてから、A と足すので「A B C × +」です。

逆から直す手順

逆ポーランド記法をふだんの書き方に戻すときも、スタックの手順がそのまま使えます。数の代わりに式の一部を積むと考えます。

「A B C × +」なら、A・B・C を積み、× で B と C を取り出して「B × C」を積む。+ で A と「B × C」を取り出して「A + B × C」。これが元の式です。

前に書く記法もある

演算子を前に書く記法をポーランド記法(前置記法)と呼びます。A + B は「+ A B」です。考案した数学者がポーランドの人だったことから、この名前が付きました。その後ろ向き版なので「逆」ポーランド記法です。

記法演算子の位置A + B の書き方
ポーランド記法(前置)前+ A B
中置記法あいだA + B
逆ポーランド記法(後置)後ろA B +

応用情報では、式を木の形(構文木)で表して、たどる順番によってどの記法になるかを問われることもあります。左の枝・右の枝・自分の順に書き出すと、逆ポーランド記法になります。

覚え方:演算子は、材料がそろってから

逆ポーランド記法は、計算に使う2つの数がそろってから、演算子を書く書き方です。

料理でいえば、材料を並べてから「混ぜる」と書く順番です。だから、演算子が出てきた時点で、その前に数が2つ以上積まれていなければおかしい。選択肢を読むときは、演算子の位置で、積まれている数が足りているかを確かめれば、崩れた並びを見抜けます。

試験ではこう出る

科目A(旧・午前)の基礎理論分野で出ます。多いのは、ふだんの書き方の式を逆ポーランド記法に直させる問題と、その逆の問題です。スタックを使った計算の途中経過を問う形もあります。応用情報では、構文木をたどって得られる記法を問う形や、スタックの最大の深さを答えさせる形に広がります。

解くときは、スタックの中身を1手ずつ書き出すのが確実です。演算子のところで数が2つそろっていなければ、その選択肢は誤りです。直す問題では、かっこの内側から順に演算子を後ろへ移してください。外側から手を付けると、どの演算子がどの2つにかかっているのかを見失います。

関連する用語

スタック
後に入れたものから先に取り出すデータ構造。逆ポーランド記法の計算に使う
中置記法
演算子を2つの数のあいだに書く、ふだんの書き方。A + B の形
ポーランド記法
演算子を2つの数の前に書く記法。+ A B の形で、前置記法とも呼ぶ
構文木
式の組み立てを木の形で表したもの。たどる順番を変えると各記法が得られる
計算量
データが増えたときに処理時間がどう伸びるかの指標

ミニクイズ

式 (A + B) × (C − D) を逆ポーランド記法で表したものはどれか。

正解は 3番:A B + C D − ×

逆ポーランド記法では、演算子を、それが計算する2つの数の後ろに書きます。(A + B) は「A B +」、(C − D) は「C D −」になり、最後にこの2つを掛けるので、× を末尾に置いて「A B + C D − ×」です。「A B C D + − ×」は、先に C と D を足してしまう並びで、かっこの意味が変わっています。「+ A B × − C D」は演算子を前に書くポーランド記法の形に近く、並びも崩れています。「A B + × C D −」は、× の時点で積まれている数が1つしかないため、計算できません。

間違えた用語の復習リストを見る →

最終更新:2026-09-21