Objective: Given an Infix expression, write an algorithm to convert it into Prefix expression.
Input: Infix expression - A + B Output: Prefix expression- +AB Input: Infix expression - A+B*(C^D-E) Output: Prefix expression- +A*B-^CDE
Approach: Use Stack
- Operator stack: This stack will be used to keep operations (+, -, *, /, ^)
Order of precedence of operations–
- ^ (Exponential)
- / *
- + –
Note: brackets ( ) are used to override these rules.
- Reverse the given infix expression. ( Note: do another reversal only for brackets).
- Do Infix to postfix expression and get the result.
- Reverse the result to get the final expression. (prefix expression) .
please click here to read about Infix expression to postfix expression.
Please see the walkthrough of an example below for more understanding.
Infix Expression: A+B*(C^D-E) Prefix Expression: +A*B-^CDE