Algorithm for evaluation of postfix expressions/notations with examples

Algorithm for evaluation of postfix  expressions/notations:-

(1) Add right parenthesis ')' at the end of postfix expression P.
(2) Scan P from left to right and repeat steps (3) and (4) until right parenthesis occurred. 
(3) If an operand encountered then push it into the stack.
(4) If an operator encountered then operate top two elements of stack as follows:-
(a) Evaluate BoA where A is top element and B is next top element. 
(b) Push the result into the stack.
(5)If right parenthesis ')' encountered then pop the final result from the stack, it means evaluation is completed.
(6) Exit.

Examples:-

1.) P = 52/42^3*+
solve :- given expression P = 52/42^3*+
s.no.
Scanned symbol
Stack
1
5
5
2
2
5,2
3
/
2
4
4
2, 4
5
2
2, 4, 2
6
^
2, 16
7
3
2, 16, 3
8
*
 2, 48
9
+
50
answer is 50.

2.) P = AB*C/DE*F/-
where A=5, B=2, C=7, D=4, E=1 AND F=3
Solve :- given expression P = 52*7/41*3/-
s.no.
Scanned symbol
Stack
1
5
5
2
2
5, 2
3
*
10
4
7
 10, 7
5
/
1
6
4
1, 4
7
1
1, 4, 1
8
*
1, 4
9
3
1, 4, 3
10
/
1, 1
11
-
0
Answer is 0.

3.) P = 1273-/215+*+
solve :- given expression P = 1273-/215+*+
s.no.
Scanned symbol
Stack
1
1
1
2
2
1, 2
3
7
1, 2, 7
4
3
1, 2, 7, 3
5
-
1, 2, 4
6
/
1, 2
7
2
1, 2, 2
8
1
1, 2, 2, 1
9
5
1, 2, 2, 1, 5
10
+
1, 2, 2, 6
11
*
1, 2, 12
12
+
15
Answer is 15.

4.) P = 35+64-*41-2^+
solve :- given expression,
P = 35+64-*41-2^+
S.no.
Scanned symbol
Stack
1
3
3
2
5
3, 5
3
+
8
4
6
8, 6
5
4
8, 6, 4
6
-
8, 2
7
*
16
8
4
16, 4
9
1
16, 4, 1
10
-
16, 3
11
2
16, 3, 2
12
^
16, 9
13
+
25
Answer is 25

No comments:

Post a Comment

Stack Data Structure, Push, Pop and Peek Operations , Applications of Stack

Stack is a linear data structure. It is collection of ordered data elements. It is also known as LIFO system (last in first out). It means i...