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

Priority Queue

Priority queue:-  It is a special type of queue which stores group of elements. Each element has a priority number associated with it. Prior...