4
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

Conversion from infix to prefix using stack

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Conversion from infix to prefix using stack

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

Page 2: Conversion from infix to prefix using stack

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 Output_stack Stack) EMPTY )G G )+ G )+F GF )+( GF+ EMPTY- GF+ -) GF+ -)) GF+ -))E GF+E -))+ GF+E -))+D GF+ED -))+( GF+ED+ -)* GF+ED+ -)*C GF+ED+C -)*+ GF+ED+C* -)+) GF+ED+C* -)+)B GF+ED+C*B -)+)- GF+ED+C*B -)+)-A GF+ED+C*BA -)+)-( GF+ED+C*BA- -)+( GF+ED+C*BA-+ -EMPTY GF+ED+C*BA-+- EMPTY

SP12-BCS-089 Page 2

Page 3: Conversion from infix to prefix using stack

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 E=3 F=2 G=1Reading expression from right to left:

reading operation Stack_output1 1 Empty2 12+ 12+ 33 3 3 34 334 3+ 3 3 4+ 3 75 3 7 5 3 7* 3 7 5* 3 7 356 3 35 6 3 357 3 35 6 7 3 35- 3 35 6 7- 3 35 1+ 3 35 1+ 3 36- 3 36 - 33

Pop stack_output : 33

Result=33

SP12-BCS-089 Page 3

Page 4: Conversion from infix to prefix using stack

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