Presentation is loading. Please wait.

Presentation is loading. Please wait.

Joseph Lindo Abstract Data Types Sir Joseph Lindo University of the Cordilleras.

Similar presentations


Presentation on theme: "Joseph Lindo Abstract Data Types Sir Joseph Lindo University of the Cordilleras."— Presentation transcript:

1 Joseph Lindo Abstract Data Types Sir Joseph Lindo University of the Cordilleras

2 Joseph Lindo ADT Abstract Data Types Stack All insertions and deletions are made at one end top of the stack Last In First Out (LIFO) Some analogies  Stack of trays  Books in a table List Stack Queue Case Array Stack

3 Joseph Lindo ADT Abstract Data Types Stack Application Arithmetic Expression INFIX PREFIX POSTFIX List Stack Queue Case Array Stack

4 Joseph Lindo Abstract Data Types -- end -- Sir Joseph Lindo University of the Cordilleras

5 Joseph Lindo Abstract Data Types -- end na -- Sir Joseph Lindo University of the Cordilleras

6 Joseph Lindo Stack in real life Online Activity Think of real life activities, scenarios or things that applies the concept stack. Post answer as comment on our facebook group, in your specified block (F,D and G) You are not allowed to have the same answer

7 Joseph Lindo Major Operations Stack PUSH (Object) - add object into the top of the stack POP - remove object into the top of the stack Others -isEmpty -isFull -PEEK

8 Joseph Lindo INFIX Notation Stack To add A, B, we write A+B To multiply A, B, we write A*B The operators ('+' and '*') go in between the operands ('A' and 'B')

9 Joseph Lindo PREFIX Notation Stack Instead of saying "A plus B", we could say "add A,B " and write + A B "Multiply A,B" would be written * A B

10 Joseph Lindo POSTFIX Notation Stack Another alternative is to put the operators after the operands as in A B + and A B *

11 Joseph Lindo Notations Stack The terms infix, prefix, and postfix tell us whether the operators go between, before, or after the operands. Pre A In B Post

12 Joseph Lindo Notations Stack Parenthesis Evaluate 2+3*5. + First: (2+3)*5 = 5*5 = 25 * First: 2+(3*5) = 2+15 = 17 INFIX notation requires Parentheses.

13 Joseph Lindo Notations Stack What about PREFIX? + 2 * 3 5 = = + 2 * 3 5 = + 2 15 = 17 * + 2 3 5 = = * + 2 3 5 = * 5 5 = 25 No parentheses needed!

14 Joseph Lindo Notations Stack What about POSTFIX? 2 3 5 * + = = 2 3 5 * + = 2 15 + = 17 2 3 + 5 * = = 2 3 + 5 * = 5 5 * = 25 No parentheses needed here either!

15 Joseph Lindo Notations Stack Conclusion Infix is the only notation that requires parentheses in order to change the order in which the operations are done.

16 Joseph Lindo FPE Stack A FPE has exactly one set of Parentheses enclosing each operator and its operands. Which is fully parenthesized? ( A + B ) * C ( ( A + B) * C ) ( ( A + B) * ( C ) )

17 Joseph Lindo INFIX to PREFIX Stack Move each operator to the left of its operands & remove the parentheses: ( ( A + B) * ( C + D ) ) ( + A B * ( C + D ) ) * + A B ( C + D ) * + A B + C D Order of operands does not change!

18 Joseph Lindo INFIX to PREFIX Stack Practice: 1.( ( A + ( B – D ) ) * C) 2.( ( ( C * B ) / ( E + B) )/ F )

19 Joseph Lindo INFIX to POSTFIX Stack Move each operator to the left of its operands & remove the parentheses: ( ( A + B) * ( C + D ) ) ( A B + * ( C + D ) ) A B + (C + D ) * A B + C D + * Order of operands does not change!

20 Joseph Lindo INFIX to PREFIX Stack Practice: 1.( ( A + ( B – D ) ) * C) 2.( ( ( C * B ) / ( E + B) )/ F )

21 Joseph Lindo Abstract Data Types -- end -- Sir Joseph Lindo University of the Cordilleras

22 Joseph Lindo Abstract Data Types -- end na -- Sir Joseph Lindo University of the Cordilleras

23 Joseph Lindo Comprehension Check


Download ppt "Joseph Lindo Abstract Data Types Sir Joseph Lindo University of the Cordilleras."

Similar presentations


Ads by Google