Reverse Polish Notation
Last Updated :
-
Blog Author :
Edited by :
Reviewed by :
Table Of Contents
What Is Reverse Polish Notation (RPN)?
The Reverse Polish Notation (RPN) refers to the mathematical notation where the operands (numerical values) are written first, followed by the operators. The main aim of this notation is to eliminate ambiguity, simplify evaluation, efficient memory utilization, and reduce parsing complexity.
The RPN, also known as the postfix notation, derives its name from the Polish notation, an earlier method. Therefore, RPN eliminates the need for inserting parentheses, square and curly brackets between different operators that complicate the mathematical expression and its calculation. In Reverse Polish Notation, it is important to note that the division operator performs the division operation in the order of the operands on the stack.
Table of contents
- Reverse Polish notation can be defined as the act of writing mathematical expressions in a way where the operators follow the operands.
- Hence, the evaluation of this expression progresses from left to right, as it takes each term individually into the stack and performs the corresponding operation.
- Postfix notation was crucial in developing computers and devices such as calculators.
- Moreover, postfix conversion to and from prefixes and infixes notations involves stack-based algorithms and computers.
Reverse Polish Notation Explained
The reverse polish notation refers to a mathematical notation representing arithmetic expressions where operators follow the operands. Operators are functions such as addition, subtraction, multiplication, division, exponential, etc. Additionally, the operation is performed on numerical values or variables, which serve as the operands.
For example, a normal mathematical expression looks like this (Infix notation):
(2 + 1) x 8
Conventionally, we evaluate what is inside the brackets first by removing them. As a result, we obtain the sum of 2 and 1, which equals 3. Subsequently, we multiply 3 by 8, resulting in 24.
We can write the same expression in postfix notation as follows:
2 1 + 8 x
Thus, considering stacks allows for quick evaluation of this expression using reverse Polish notation. Stacks help manage data and can do push and pop functions.
To evaluate the RPN expression, we consider the following steps:
First, push the number ''2'' into the stack to assess the expression. Now, push ''1''. There are only two numbers and nothing to do with them. Next, we push the operator "+" onto the stack. Therefore, we have an operator and two operands, we can pop them from the stack and perform the operation. Consequently, we add 1 to 2, resulting in the sum of 3.
Now, only three are in the stack. Now, push 8. Again, there are only two numbers. We can pop the stack when the operator "x" is pushed. Then, we multiply 3 by 8, resulting in the product of 24. Therefore, the only value in the stack is 24. We can observe the unnecessary use of brackets in RPN by evaluating each term individually, one by one.
Furthermore, computers use reverse polish notation calculators. Hewlett and Packard were among the first companies to use this system in their desktop calculators in the 1970s and 80s.
Examples
Here are a few examples to understand RPN.
Example #1
Here is an example of evaluating the expression using the RPN method:
Let's assume the RPN expression: 3 5 – 1 +
To evaluate this expression, we follow these steps:
1: Push 3 to the stack.
2: Move 5 to the pile.
3: Push – to the stack.
4: Pop 3 and 5. Therefore, five should be subtracted from 3 to get –2. Now, –2 is the only term in the stack.
5: Push 1 to the stack.
6: Push + to the stack.
7: Pop –2 and 1. Thus, adding 1 to –2 gives –1. Therefore, the stack consists of the result, –1.
Example #2
Reverse Polish notation calculators are one of the vintage collections that excite programmers and academicians. Simon Boak and Mitsuru Yamada have designed new calculators that use RPN. Arduino Nano drives these calculators. Thus, Simon Boak's SB116 is a 16-bit integer data calculator can perform basic mathematical operations and AND, NOT, OR, and XOR calculations. However, it can only accept values of –32,768 to 32,767 and cannot display decimals. Nevertheless, collectors buy them for the look and feel of the RPN calculators.
Advantages
Let's discuss the benefits of using RPN.
- We perform the evaluation of reverse polish notation from left to right. Therefore, there is clarity in using rules such as PEMDAS, BODMAS, etc., which first try to evaluate brackets, exponentials, etc.
- Since there are no brackets and varying orders of operations, it is faster and has fewer keystrokes. Computers using stack can provide more immediate results using RPN.
- Individuals following the RPN method have been more accurate than the conventional method.
- Fewer operations and lesser terms simplify the computation once the person gets the hang of it.
Once individuals are trained to use the conventional method, they may encounter difficulty in acclimating to the RPN method.
Polish Notation vs Reverse Polish Notation
The Polish notation (PN) was introduced by Polish logician Jan Lukasiewicz in 1924. It is a format of writing mathematical expressions where the operand follows the operator. Here is a comparison between the PN and RPN.
Polish Notation | Reverse Polish Notation |
---|---|
They are also known as prefix notation. | Can also be referred to as postfix notation. |
The operator comes first, then the operand. | The operand comes first, followed by the operator. |
It is applied from left to right, operating on the terms individually. | It is also applied from left to right, operating on the terms individually. |
These Don't use brackets. | This method doesn’t use brackets. |
Computers in the 1970s and 80s used RPN for faster and easier computation. | Computers in 1970s and 80s used RPN for faster and easier computation. |
Example: + 7 9 | Example: 7 9 + |
Frequently Asked Questions (FAQs)
Many consider RPN to be superior to the standard method of writing mathematical expressions. The reason is that the conventional method uses brackets that complicate the expression. Therefore, many terms take up time and effort. RPN takes each word one by one and operates. It is much faster and makes the process easier.
Yes. Stack-based languages and calculators still utilize RPN. However, its share is insignificant and advanced algorithms have replaced it.
Infix notations are the conventional format for writing mathematical expressions. Infix to postfix notation conversion can be done using computers and stack-based algorithms. However, here there's a straightforward method of transformation that can be done using a pen and paper. First, solve the infix notation and get the result. Then, using the value, write a reverse Polish expression. It is essential to note that many ways to write a single expression in RPN exist.
Recommended Articles
This article has been a guide to what is Reverse Polish Notation. Here, we explain its examples, a comparison with Polish notation, and its advantages. You may also find some useful articles here -