Download Evaluating Postfix - Data Stuctures - Lecture Slides and more Slides Data Structures and Algorithms in PDF only on Docsity!
Infix to Postfix
Infix Postfix
A + B A B +
(A + B)*(C โ D ) A B + C D โ *
A โ B * C โ D + E/F A B โ C*D โ E F/+
Infix to Postfix
๏ง Note that the postfix form an expression
does not require parenthesis.
๏ง Consider โ4+35โ and โ(4+3)5โ. The
parenthesis are not needed in the first but
they are necessary in the second.
๏ง The postfix forms are:
Stack s;
while( not end of input ) {
e = get next element of input
if( e is an operand )
s.push( e );
else {
op2 = s.pop();
op1 = s.pop();
value = result of applying operator โeโ to op1 and op2;
s.push( value );
finalresult = s.pop();
Evaluate 6 2 3 + - 3 8 2 / + * 2 โ 3 +
Input op1 op2 value stack 6 6
Evaluate 6 2 3 + - 3 8 2 / + * 2 โ 3 +
Input op1 op2 value stack 6 6 2 6, 3 6,2,
Evaluate 6 2 3 + - 3 8 2 / + * 2 โ 3 +
Input op1 op2 value stack 6 6 2 6, 3 6,2,
Evaluate 6 2 3 + - 3 8 2 / + * 2 โ 3 +
Input op1 op2 value stack 6 6 2 6, 3 6,2,
Evaluate 6 2 3 + - 3 8 2 / + * 2 โ 3 +
Input op1 op2 value stack 6 6 2 6, 3 6,2,
- 6 5 1 1 3 6 5 1 1, 8 6 5 1 1,3,
Evaluate 6 2 3 + - 3 8 2 / + * 2 โ 3 +
Input op1 op2 value stack 6 6 2 6, 3 6,2,
- 6 5 1 1 3 6 5 1 1, 8 6 5 1 1,3, 2 6 5 1 1,3,8, / 8 2 4 1,3,
Evaluate 6 2 3 + - 3 8 2 / + * 2 โ 3 +
Input op1 op2 value stack 6 6 2 6, 3 6,2,
- 6 5 1 1 3 6 5 1 1, 8 6 5 1 1,3, 2 6 5 1 1,3,8, / 8 2 4 1,3,
Evaluate 6 2 3 + - 3 8 2 / + * 2 โ 3 +
Input op1 op2 value stack
Evaluate 6 2 3 + - 3 8 2 / + * 2 โ 3 +
Input op1 op2 value stack
Evaluate 6 2 3 + - 3 8 2 / + * 2 โ 3 +
Input op1 op2 value stack
Evaluate 6 2 3 + - 3 8 2 / + * 2 โ 3 +
Input op1 op2 value stack
- 2 6,
- 3 6,2,
- 3 6 5 1 1,
- 8 6 5 1 1,3,
- 2 6 5 1 1,3,8,
- / 8 2 4 1,3,
- 2 6,
- 3 6,2,
- 3 6 5 1 1,
- 8 6 5 1 1,3,
- 2 6 5 1 1,3,8,
- / 8 2 4 1,3,
- 2 1 7 7 7,
- 2 6,
- 3 6,2,
- 3 6 5 1 1,
- 8 6 5 1 1,3,
- 2 6 5 1 1,3,8,
- / 8 2 4 1,3,
- 2 1 7 7 7,
- โ
- 2 6,
- 3 6,2,
- 3 6 5 1 1,
- 8 6 5 1 1,3,
- 2 6 5 1 1,3,8,
- / 8 2 4 1,3,
- 2 1 7 7 7,
- โ
- 3 7 2 49 49,
- 2 6,
- 3 6,2,
- 3 6 5 1 1,
- 8 6 5 1 1,3,
- 2 6 5 1 1,3,8,
- / 8 2 4 1,3,
- 2 1 7 7 7,
- โ
- 3 7 2 49 49,
- 2 6,
- 3 6,2,
- 3 6 5 1 1,
- 8 6 5 1 1,3,
- 2 6 5 1 1,3,8,
- / 8 2 4 1,3,
- 2 1 7 7 7,
- โ
- 3 7 2 49 49,