Download presentation

Presentation is loading. Please wait.

Published byIsaiah Sweeney Modified over 2 years ago

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

Similar presentations

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google