Your SlideShare is downloading. ×
Infix to postfix
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Infix to postfix

3,104
views

Published on

This Slides Will Help You About Infix And Postfix Expression.

This Slides Will Help You About Infix And Postfix Expression.


4 Comments
1 Like
Statistics
Notes
No Downloads
Views
Total Views
3,104
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
133
Comments
4
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. PRESENTATION OF DATA STRUCTURE & ALGORITHM BY Mohammad Saeed Farooqi
  • 2.  INFIX Notation.  POSTFIX Notation.  PREFIX Notation.  OPERATORS PRECEDENCE.  Evaluating Of POSTFIX Expression Using Stacks.  Converting INFIX To POSTFIX Using Stacks.  ALGORITHMS.  OUTLINES Mohammad Saeed Farooqi (University Of Swat, Pakistan)
  • 3.  Infix Expression Are Those In Which Operators Are Written Between Two Operands.  Infix Expression Is The Common Arithmetic And Logical Formula Expression.  Infix Expression Needs Extra Information To Make The Order Of Evaluation Of The Operators Clear.  Rules Built Into The Language About Operator Precedence And Associativity, And Brackets ( ) To Allow Users To Override These Rules.  INFIX EXPRESSION Mohammad Saeed Farooqi (University Of Swat, Pakistan)
  • 4.  EXAMPLE…  A * ( B + C ) / D…  This Expression Is Usually Taken To Mean Something Like: "First Add B And C Together, Then Multiply The Result By A, Then Divide By D To Give The Final Answer.  INFIX EXPRESSION Mohammad Saeed Farooqi (University Of Swat, Pakistan)
  • 5.  POSTFIX Expression Also Known As “Reverse Polish Expression”  In These Expressions Operators Are Written After Their Operands.  Operators Act On Values Immediately To The Left Of Them.  They Do Not Have (Brackets)  POSTFIX EXPRESSION Mohammad Saeed Farooqi (University Of Swat, Pakistan)
  • 6.  EXAMPLE…  A B C + * D /…  Operators Act On Values Immediately To The Left Of Them.  For Example, The "+" Above Uses The "B" And "C".  We Can Add (Totally Unnecessary) Brackets To Make This Easy. ( (A (B C +) *) D /) .  POSTFIX EXPRESSION Mohammad Saeed Farooqi (University Of Swat, Pakistan)
  • 7.  Also Known As “Polish Expression”.  In These Expressions Operators Are Written Before The Operands.  We Have To Scan It From Right-To-Left.  As For Postfix, Operators Are Evaluated Left-To-Right And Brackets Are Superfluous.  Operators Act On The Two Nearest Values On The Right.  I Have Again Added (Totally Unnecessary) Brackets To Make This Clear. (/ (* A (+ B C) ) D)  PREFIX Notation Is Especially Popular With StackBased Operations Due To Its Innate Ability To Easily Distinguish Order Of Operations Without The Need For Parentheses.  PREFIX EXPRESSION Mohammad Saeed Farooqi (University Of Swat, Pakistan)
  • 8.  We Assume The Following Three Levels Of PRECEDENCE For The Usual Five Binary Operations.  Highest Exponentiation ().  Next Highest Multiplication (*) And Division (/) Superfluous  Lowest Addition (+) And Subtraction (-)  Without Understanding Operator Precedence You Can Not Convert Any Expression.  OPERATOR PRECEDENCE Mohammad Saeed Farooqi (University Of Swat, Pakistan)
  • 9.  EVOLUACTION OF POSTFIX EXPRESSION Mohammad Saeed Farooqi (University Of Swat, Pakistan)
  • 10. • EvaluatePostfix(exp) • { • Create A Stack S. • for I ← 0 to length of the (exp)-1 { if(exp[i]) // Is An Operand push(exp[i]); else if(exp[i]) // Is An Operator { op1←pop(); op2← pop(); result←perform(exp[i],op1,op2); push(result); } } }  ALGORITHM FOR POSTFIX EVALUATION Mohammad Saeed Farooqi (University Of Swat, Pakistan)
  • 11. Converting Infix To Postfix Mohammad Saeed Farooqi (University Of Swat, Pakistan)
  • 12. • • • • • • • Example: 1*2+3. Scan: *,+ (Stack) And 12 (Postfix Expression). Precedence Of * Is Higher Than +. Thus, Append * to postfix Expression. + (Stack) And 12* (Postfix Expression ). Scan Further, + (Stack ) and 12*3 (Postfix Expression) There Are No Further Operators, Thus, Postfix Is 12*3+ Converting Infix To Postfix Mohammad Saeed Farooqi (University Of Swat, Pakistan)
  • 13. Converting Infix To Prefix Mohammad Saeed Farooqi (University Of Swat, Pakistan)
  • 14. • Step 1. Push “)” onto STACK, and add “(“ to end of the A. • Step 2. Scan A from right to left and repeat step 3 to 6 for each element of A until the STACK is empty. • Step 3. If an operand is encountered add it to B. • Step 4. If a right parenthesis is encountered push it onto STACK. • Step 5. If an operator is encountered then: a. Repeatedly pop from STACK and add to B each operator (on the top of STACK) which has same or higher precedence than the operator. b. Add operator to STACK. • Step 6. If left parenthesis is encontered then a. Repeatedly pop from the STACK and add to B (each operator on top of stack until a left parenthesis is encounterd) b. Remove the left parenthesis. • Step 7. Exit Converting Infix To Postfix Mohammad Saeed Farooqi (University Of Swat, Pakistan)

×