Infix, Postfix and Prefix Expressions/Notations (original) (raw)

Last Updated : 27 Aug, 2025

Mathematical formulas often involve complex expressions that require a clear understanding of the order of operations. To represent these expressions, we use different notations, each with its own advantages and disadvantages. In this article, we will explore three common expression notations: **infix, prefix, and postfix.

Table of Content

Infix Expressions

**Infix expressions are mathematical expressions where the **operator is placed between its operands. This is the most common mathematical notation used by humans. For example, the expression "2 + 3" is an infix expression, where the operator "+" is placed between the operands "2" and "3".

**Infix notation is easy to read and understand for humans, but it can be difficult for computers to evaluate efficiently. This is because the order of operations must be taken into account, and parentheses can be used to override the default order of operations.

Common way of writing Infix expressions:

Operator precedence rules:

**Infix expressions follow operator precedence rules, which determine the order in which operators are evaluated. For example, multiplication and division have higher precedence than addition and subtraction. This means that in the expression "2 + 3 * 4", the multiplication operation will be performed before the addition operation.

Here's the table summarizing the operator precedence rules for common mathematical operators:

Operator Precedence
Parentheses () Highest
Exponents ^ High
Multiplication * Medium
Division / Medium
Addition + Low
Subtraction - Low

Evaluating Infix Expressions

Evaluating infix expressions requires additional processing to handle the order of operations and parentheses. First convert the infix expression to postfix notation. This can be done using a stack or a recursive algorithm. Then evaluate the postfix expression.

Advantages of Infix Expressions

Disadvantages Infix Expressions

Prefix Expressions (Polish Notation)

Prefix expressions are also known as Polish notation, are a mathematical notation where the operator precedes its operands. This differs from the more common infix notation, where the operator is placed between its operands.

In prefix notation, the operator is written first, followed by its operands. For example, the infix expression "a + b" would be written as "+ a b" in prefix notation.

Evaluating Prefix Expressions

Evaluating prefix expressions can be useful in certain scenarios, such as when dealing with expressions that have a large number of nested parentheses or when using a stack-based programming language.

Advantages of Prefix Expressions

Disadvantages of Prefix Expressions

Postfix Expressions (Reverse Polish Notation)

**Postfix expressions are also known as **Reverse Polish Notation (RPN), are a mathematical notation where the operator follows its operands. This differs from the more common infix notation, where the operator is placed between its operands.

In postfix notation, operands are written first, followed by the operator. For example, the infix expression "5 + 2" would be written as "5 2 +" in postfix notation.

Evaluating Postfix Expressions (Reverse Polish Notation)

Evaluating postfix expressions can be useful in certain scenarios, such as when dealing with expressions that have a large number of nested parentheses or when using a stack-based programming language.

Advantages of Postfix Notation

Disadvantages of Postfix Expressions

Comparison of Infix, Prefix and Postfix Expressions

Let's compare infix, prefix, and postfix notations across various criteria:

spect Infix Notation Prefix Notation (Polish Notation) Postfix Notation (Reverse Polish Notation)
Readability Human-readable Less human-readable, requires familiarity Less human-readable, requires familiarity
Operator Placement Between operands Before operands After operands
Parentheses Requirement Often required Not required Not required
Operator Precedence Tracking Required, parentheses determine precedence Not required, operators have fixed precedence Not required, operators have fixed precedence
Evaluation Method Left-to-right Right-to-left Left-to-right
Ambiguity Handling May require explicit use of parentheses Ambiguity rare, straightforward evaluation Ambiguity rare, straightforward evaluation
Unary Operator Handling Requires careful placement Simplified handling due to explicit notation Simplified handling due to explicit notation
Computer Efficiency Less efficient due to precedence tracking and parentheses handling More efficient due to fixed precedence and absence of parentheses More efficient due to fixed precedence and absence of parentheses
Usage Common in everyday arithmetic and mathematical notation Common in computer science and programming languages Common in computer science and programming languages