1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

逆ポーランド表記法

Posted at

応用情報技術者平成28年秋期 午前3

逆ポーランド表記法で表された式を評価する場合,途中の結果を格納するためのスタックを用意し,式の項や演算子を左から右に順に入力し処理する。スタックが図の状態のとき,入力が演算子となった。このときに行われる演算はどれか。ここで,演算は中置表記法で記述するものとする。

image.png

1、逆ポーランド表記法は、
演算子を被演算子の右側に記述する表記法です。

[文字1,演算子,文字2] → [文字1,文字2,演算子] に変えます。

スタックに
DCBAとすると、
演算子はAB、文字1はC、文字2はDですね。

逆ポーランド表記法になる前に、C 演算子 D でしょう。

例えば、
 A=4×5-6+3×2

という式を逆ポーランド表記法で記述すると、
 A45×6-32×+=

となります。

構文木で表すと次のようになります。

image.png

この構文木は式の並び順のとおりに「左の葉→右の葉→節」という後行順序で操作が行われます。

問題に戻ると、演算子の前にCとDがスタックに積まれています。つまり先に積まれている「C」が左の葉の値、「D」が右の葉の値ということになります。これを逆ポーランド表記の式にすると「CD演算子」と変換することができます。

参照:
https://www.ap-siken.com/kakomon/28_aki/q3.html

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?