HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
Conversion from infix to prefix using stack
1. DATA STRUCTURE ASSIGNMENT #2
Comsats institute Of Information Technology Islamabad
Subject :
Data Structure
Assignment#:
2
Submitted to:
Sir Zaheer Ul Hassan Sani
Submitted by:
Haq Nawaz
Reg#:
Sp12-bcs-089
Submission date:
2 November 2013
SP12-BCS-089
Page 1
2. DATA STRUCTURE ASSIGNMENT #2
Task a:
We have infix expression in the form of:
((A-B)+C*(D+E))-(F+G)
Now reading expression from right to left and pushing operators into stack and
variables to output stack
Input
)
G
+
F
(
)
)
E
+
D
(
*
C
+
)
B
A
(
(
EMPTY
SP12-BCS-089
Output_stack
EMPTY
G
G
GF
GF+
GF+
GF+
GF+
GF+E
GF+E
GF+ED
GF+ED+
GF+ED+
GF+ED+C
GF+ED+C*
GF+ED+C*
GF+ED+C*B
GF+ED+C*B
GF+ED+C*BA
GF+ED+C*BAGF+ED+C*BA-+
GF+ED+C*BA-+-
Stack
)
)
)+
)+
EMPTY
-)
-))
-))
-))+
-))+
-)
-)*
-)*
-)+
-)+)
-)+)
-)+)-)+)-)+
EMPTY
Page 2
3. DATA STRUCTURE ASSIGNMENT #2
Out put_stack = GF+ED+C*BA-+Reversing the output_stack we get prefix expression:
-+-AB*C+DE+FG
Task b:
Evaluating the prefix expression:
Assigning the values to variables
A=7
B=6
C=5
D=4
Reading expression from right to left:
reading
1
2
+
3
4
+
5
*
6
7
+
-
operation
1
12
12+
33
334
3 3 4+
375
3 7 5*
3 35 6
3 35 6 7
3 35 6 73 35 1+
3 36 -
E=3
F=2
G=1
Stack_output
Empty
3
3
3
37
37
3 7 35
3 35
3 35
3 35 1
3 36
33
Pop stack_output : 33
Result=33
SP12-BCS-089
Page 3
4. DATA STRUCTURE ASSIGNMENT #2
Comparing both expressions evaluations:
((A-B)+C*(D+E))-(F+G)
((7-6)+5(4+3))-(2+1)
(1+5*7)-3
1+35-3
36-3
33
SP12-BCS-089
Page 4