PreFix Notation: Also known as Polish Notation, is a mathematical notation in which operators precede their operands.
PostFix Notation: Also known as Reverse Polish Notation, is a mathematical notation in which operators follow their operands.
Practically, these are used in calculators, as they increase the speed of calculations.
- Scan each element of the expression (X) from left to right and repeat steps 2 to 5 until the stack is empty.
- If an operand is encountered add it to the resultant string (Y).
- If a left parenthesis ( "(" ) is encountered then push it to the stack.
- If an operator is encountered then:
- Repeatedly pop from stack and add it to Y which has the same or higher precedence than the next operator.
- Push operator to the stack.
- If a right parenthesis is encountered then:
- Repeatedly pop from the stack and to Y until a left parenthesis is encountered.
- Pop the left parenthesis.
- END
- Scan the expression (X) and reverse it, also replace "(" to ")" and vice versa.
- Perform InFix to PostFix conversion on the reversed expression.
- Finally, reverse the obtained PostFix expression, resulting in the PreFix expression.
- END
- Scan the expression (X) from left to right and repeat steps 2 to 4.
- If an operand is encountered then push the element to stack.
- If an operator is encountered then pop two operands and evaluate based on the operator.
- Push the answer to the stack.
- Finally, pop the element which is the answer.
- END
- Scan the expression (X) and reverse it.
- Perform PostFix evaluation on the expression.
- The resulting value is the answer.
- END