VOOZH about

URL: https://www.geeksforgeeks.org/dsa/prefix-infix-conversion/

⇱ Prefix to Infix Conversion - GeeksforGeeks


  • Courses
  • Tutorials
  • Interview Prep

Prefix to Infix Conversion

Last Updated : 11 Feb, 2025

Infix : An expression is called the Infix expression if the operator appears in between the operands in the expression. Simply of the form (operand1 operator operand2). 
Example : (A+B) * (C-D)

Prefix : An expression is called the prefix expression if the operator appears in the expression before the operands. Simply of the form (operator operand1 operand2). 
Example : *+AB-CD (Infix : (A+B) * (C-D) )

Given a Prefix expression, convert it into a Infix expression. 
Computers usually does the computation in either prefix or postfix (usually postfix). But for humans, its easier to understand an Infix expression rather than a prefix. Hence conversion is need for human understanding.

Examples: 

Input : Prefix : *+AB-CD
Output : Infix : ((A+B)*(C-D))

Input : Prefix : *-A/BC-/AKL
Output : Infix : ((A-(B/C))*((A/K)-L))

👁 Evaluate-the-prefix-expression-2

Algorithm for Prefix to Infix

  • Read the Prefix expression in reverse order (from right to left)
  • If the symbol is an operand, then push it onto the Stack
  • If the symbol is an operator, then pop two operands from the Stack 
    Create a string by concatenating the two operands and the operator between them. 
    string = (operand1 + operator + operand2)
    And push the resultant string back to Stack
  • Repeat the above steps until the end of Prefix expression.
  • At the end stack will have only 1 string i.e resultant string

Implementation:


Output
Infix : ((A-(B/C))*((A/K)-L))

Time Complexity:O(n)
Auxiliary Space: O(n)

Comment