目次(まとめ)
- 私たちが普段使っている数式は「中置記法」で書かれている
- コンピュータにとって理解しやすい数式は「後置記法」で書かれたもの
- 「スタック」を用いて「後置記法」を解釈できる
- 参考文献



こんにちは、みっちゃんです。

今回の記事では、私たちが普段目にしている数式を、コンピュータにわかりやすい形に変換するための「逆ポーランド記法」について紹介します。

私たちが普段使っている数式は「中置記法」で書かれている

私たちは普段、以下のような数式を使っています。

$$1+2$$

このように演算記号である「+」を項(数字)の間に置く書き方を「中置記法」と呼びます。

私たちは、この書き方しか知らないということもあり、「中置記法」という言葉に馴染みがないと思います。

しかし、この「中置記法」はコンピュータには理解しにくい書き方です。

例えば、以下のように複雑な数式があるとします。

$$1+2×3$$

わたしたちは、「足し算より先に掛け算を行う」ということを数式を眺めれば一瞬に理解することができます。

しかし、コンピュータは、数式の全体像をみることができず、理解にとまどってしまいます。

コンピュータにとって理解しやすい数式は「後置記法」で書かれたもの

「中置記法」に対して「後置記法」という書き方があります。

その名のとおり、演算記号を項(数字など)の後ろに置く書き方です。

例えば、(1+2)は(12+)となり、

$$1+2×3$$

は、

$$123×+$$

という風に書きます。

コンピュータには理解しやすいのですが、わたしたちにとっては理解しづらいですね。

「スタック」を用いて「後置記法」を解釈できる

「後置記法」で書かれた数式は「スタック」を用いて理解することができます。

ここでは例として、(123×+)について考えたいと思います。

コンピュータは、数式の先頭文字から「スタック」にプッシュしていきます。

ステップ1:1をプッシュ
ステップ2:2をプッシュ
ステップ3:3をプッシュ
ステップ4:"×"という演算記号が出てきたので、プッシュしておいた2つの数字を取り出して掛け合わせる→"6"を取得
ステップ5:6をプッシュ
ステップ6:"+"という演算記号が出てきたので、プッシュしておいた2つの数字を取り出して足し合わせる→"7"を取得

結果的に、数式の答えは「7」となるわけです。

参考文献

きたみりゅうじ「キタミ式イラストIT塾 応用情報技術者」技術評論社