読み方:ぎゃくポーランドきほう

逆ポーランド記法 【RPN】 Reverse Polish Notation / 後置記法 / postfix notation

概要

逆ポーランド記法(RPN)とは、数式などを記述する際の表記法の一つで、演算子被演算子(演算対象)の列の後に記す方式。ポーランド記法(前置記法)を逆順にしたものであるためこのように呼ばれる。

日常的な算術や数学では、演算子を対象の真ん中に挟む「中置記法」(infix notation)が一般的で、「1と2の和」を「1+2」のように表記する。この記法は演算子の結合順序のルール(優先順位)や括弧による計算順の指定が必要で、「1+2×3+4」と「(1+2)×(3+4)」は違う式になる。

一方、逆ポーランド記法演算子を後ろに置く表記法で、「1と2の和」は「1 2 +」のように表記する。四則演算などの二項演算子のみを利用する場合、結合順の指定が無くても一意に計算順序を決定できる。例えば、中置記法の「1+2×3+4」は「1 2 3 × + 4 +」、「(1+2)×(3+4)」は「1 2 + 3 4 + ×」と表記される。

値の間に必ず演算子が挟まる中置記法と異なり、値同士を並べて記述するため、どこが値の境界なのか明確になるよう区切り記号(コンピュータの場合は空白文字など)を挟むなどして分かち書きをする必要がある。

この記法はポーランドの論理学者、ヤン・ウカシェヴィチ(Jan Łukasiewicz)が考案した「ポーランド記法」(Polish notation)の逆順であるため、このように呼ばれる。ポーランド記法では「+ 1 2」のように演算子の後に被演算子の列を記載する。

ポーランド記法も逆ポーランド記法も、コンピュータプログラムが数式を扱う際に都合が良いため、数式処理のためのデータ構造などに応用されることがある。両者の特徴はほとんど同じだが、逆ポーランド記法スタック構造を利用して単純な操作の繰り返しで数式を評価するプログラムを記述できるため、電卓プログラムを作るプログラミング課題などの形でよく取り上げられる。

(2022.7.19更新)

プログラミング言語の用語一覧

試験出題履歴

基本情報技術者試験 : 令5修7 問3 令5修6 問3 令5修1 問6 令3修1 問6 令2修7 問5 令2修1 問6 平30修6 問4 平27修1 問4 平26秋 問4 平25春 問6 平24修7 問4 平24春 問4 平23修7 問6 平22春 問3 平21秋 問3 平21修6 問3