Download presentation
Presentation is loading. Please wait.
Published byAlice Kennedy Modified over 9 years ago
1
Stack ADT Operations Push, Pop, Top, isEmpty Application: Expression Evaluation Arithmetic Expression Infix-to-Postfix Postfix to Quadruples Boolean Expressions (Assignment #1) Infix-to-Postfix Postfix to Quadruples
2
Implementing a Stack Using Vector /Array – requires estimate of maximum list length – may grow dynamically – Ø = empty slots – Can contain varied data/objects (not necessarily homogeneous) 30−0Golf #1 ØØØ 212 rules! top
3
Implementing a Stack Using Linked List –flexible, adjusts to problem size –implementing a linked list nodes and references/links/pointers top Golf #1 212 rules! 30−0 Ø
4
Implementing a Stack Using Linked List –implementing a linked list cursor implementation top = 5 freelist = 8 012345678012345678 2 7 1 4 3 6 0 Golf #1 212 rules! 30−0 Ø Ø Ø Ø Ø Ø
5
Implementing a Stack Vector/Array Linked List – pushO(1) * O(1) – popO(1)O(1) – top/peekO(1)O(1) – isEmptyO(1)O(1) *assuming no need for Vector/Array expansion
6
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: @
7
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z @
8
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z =@=@
9
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a =@=@
10
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a *=@*=@
11
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a (*=@(*=@
12
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x (*=@(*=@
13
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x +(*=@+(*=@
14
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y +(*=@+(*=@
15
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + (*=@(*=@
16
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + *=@*=@
17
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * =@ =@
18
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * +=@+=@
19
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z +=@+=@
20
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z *+=@ *+=@
21
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c *+=@ *+=@
22
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c ^*+=@^*+=@
23
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c (^*+=@(^*+=@
24
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 (^*+=@(^*+=@
25
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 −(^*+=@−(^*+=@
26
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 (−(^*+=@(−(^*+=@
27
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 ~(−(^*+=@~(−(^*+=@
28
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~(−(^*+=@~(−(^*+=@
29
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~(−(^*+=@ ~(−(^*+=@
30
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~ (−(^*+=@ (−(^*+=@
31
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~ +(−(^*+=@ +(−(^*+=@
32
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~ w +(−(^*+=@+(−(^*+=@
33
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~ w +(−(^*+=@ +(−(^*+=@
34
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~ w + (−(^*+=@ (−(^*+=@
35
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~ w + (−(^*+=@(−(^*+=@
36
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~ w + −(^*+=@ −(^*+=@
37
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~ w + −(^*+=@ −(^*+=@
38
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~ w + − (^*+=@ (^*+=@
39
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~ w + − ^*+=@ ^*+=@
40
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~ w + − ^*+=@ ^*+=@
41
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~ w + − ^ *+=@ *+=@
42
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~ w + − ^ * +=@ +=@
43
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~ w + − ^ * /+=@ /+=@
44
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~ w + − ^ * x /+=@ /+=@
45
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~ w + − ^ * x /+=@ /+=@
46
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~ w + − ^ * x / +=@ +=@
47
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~ w + − ^ * x / + =@ =@
48
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~ w + − ^ * x / + = @
49
Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~ w + − ^ * x / + =
50
Postfix to Quadruples postfix expression: z a x y + * z c 2 d ~ w + − ^ * x / + = z
51
Postfix to Quadruples postfix expression: z a x y + * z c 2 d ~ w + − ^ * x / + = az az
52
Postfix to Quadruples postfix expression: z a x y + * z c 2 d ~ w + − ^ * x / + = xaz xaz
53
Postfix to Quadruples postfix expression: z a x y + * z c 2 d ~ w + − ^ * x / + = yxaz yxaz
54
Postfix to Quadruples postfix expression: z a x y + * z c 2 d ~ w + − ^ * x / + = yxaz yxaz
55
Postfix to Quadruples postfix expression: z a x y + * z c 2 d ~ w + − ^ * x / + = t0 a z + x y t0
56
Postfix to Quadruples postfix expression: z a x y + * z c 2 d ~ w + − ^ * x / + = t0 a z + x y t0
57
Postfix to Quadruples postfix expression: z a x y + * z c 2 d ~ w + − ^ * x / + = t1 z + x y t0 * a t0 t1
58
Postfix to Quadruples postfix expression: z a x y + * z c 2 d ~ w + − ^ * x / + = z t1 z + x y t0 * a t0 t1
59
Postfix to Quadruples postfix expression: z a x y + * z c 2 d ~ w + − ^ * x / + = c z t1 z + x y t0 * a t0 t1
60
Postfix to Quadruples postfix expression: z a x y + * z c 2 d ~ w + − ^ * x / + = 2 c z t1 z + x y t0 * a t0 t1
61
Postfix to Quadruples postfix expression: z a x y + * z c 2 d ~ w + − ^ * x / + = d 2 c z t1 z + x y t0 * a t0 t1
62
Postfix to Quadruples postfix expression: z a x y + * z c 2 d ~ w + − ^ * x / + = d 2 c z t1 z + x y t0 * a t0 t1
63
Postfix to Quadruples postfix expression: z a x y + * z c 2 d ~ w + − ^ * x / + = t2 2 c z t1 z + x y t0 * a t0 t1 ~ d t2
64
Postfix to Quadruples postfix expression: z a x y + * z c 2 d ~ w + − ^ * x / + = w t2 2 c z t1 z + x y t0 * a t0 t1 ~ d t2
65
Postfix to Quadruples postfix expression: z a x y + * z c 2 d ~ w + − ^ * x / + = w t2 2 c z t1 z + x y t0 * a t0 t1 ~ d t2
66
Postfix to Quadruples postfix expression: z a x y + * z c 2 d ~ w + − ^ * x / + = t3 2 c z t1 z + x y t0 * a t0 t1 ~ d t2 + t2 w t3
67
Postfix to Quadruples postfix expression: z a x y + * z c 2 d ~ w + − ^ * x / + = t3 2 c z t1 z + x y t0 * a t0 t1 ~ d t2 + t2 w t3
68
Postfix to Quadruples postfix expression: z a x y + * z c 2 d ~ w + − ^ * x / + = t4 c z t1 z + x y t0 * a t0 t1 ~ d t2 + t2 2 t3 - w t3 t4
69
Postfix to Quadruples postfix expression: z a x y + * z c 2 d ~ w + − ^ * x / + = t4 c z t1 z + x y t0 * a t0 t1 ~ d t2 + t2 w t3 - w t3 t4
70
Postfix to Quadruples postfix expression: z a x y + * z c 2 d ~ w + − ^ * x / + = t5 z t1 z + x y t0 * a t0 t1 ~ d t2 + t2 w t3 - w t3 t4 ^ c t4 t5
71
Postfix to Quadruples postfix expression: z a x y + * z c 2 d ~ w + − ^ * x / + = t5 z t1 z + x y t0 * a t0 t1 ~ d t2 + t2 w t3 - w t3 t4 ^ c t4 t5
72
Postfix to Quadruples postfix expression: z a x y + * z c 2 d ~ w + − ^ * x / + = t6 t1 z + x y t0 * a t0 t1 ~ d t2 + t2 w t3 - w t3 t4 ^ c t4 t5 * Z t5 t6
73
Postfix to Quadruples postfix expression: z a x y + * z c 2 d ~ w + − ^ * x / + = x t6 t1 z + x y t0 * a t0 t1 ~ d t2 + t2 w t3 - w t3 t4 ^ c t4 t5 * Z t5 t6
74
Postfix to Quadruples postfix expression: z a x y + * z c 2 d ~ w + − ^ * x / + = x t6 t1 z + x y t0 * a t0 t1 ~ d t2 + t2 w t3 - w t3 t4 ^ c t4 t5 * Z t5 t6
75
Postfix to Quadruples postfix expression: z a x y + * z c 2 d ~ w + − ^ * x / + = t7 t1 z + x y t0 * a t0 t1 ~ d t2 + t2 w t3 - w t3 t4 ^ c t4 t5 * Z t5 t6 / t6 x t7
76
Postfix to Quadruples postfix expression: z a x y + * z c 2 d ~ w + − ^ * x / + = t7 t1 z + x y t0 * a t0 t1 ~ d t2 + t2 w t3 - w t3 t4 ^ c t4 t5 * Z t5 t6 / t6 x t7
77
Postfix to Quadruples postfix expression: z a x y + * z c 2 d ~ w + − ^ * x / + = t8 z + x y t0 * a t0 t1 ~ d t2 + t2 w t3 - w t3 t4 ^ c t4 t5 * Z t5 t6 / t6 x t7 + t1 t7 t8
78
Postfix to Quadruples postfix expression: z a x y + * z c 2 d ~ w + − ^ * x / + = t8 z + x y t0 * a t0 t1 ~ d t2 + t2 w t3 - w t3 t4 ^ c t4 t5 * Z t5 t6 / t6 x t7 + t1 t7 t8
79
Postfix to Quadruples postfix expression: z a x y + * z c 2 d ~ w + − ^ * x / + = + x y t0 * a t0 t1 ~ d t2 + t2 w t3 - w t3 t4 ^ c t4 t5 * Z t5 t6 / t6 x t7 + t1 t7 t8 = t8 z
80
Postfix to Quadruples postfix expression: z a x y + * z c 2 d ~ w + − ^ * x / + = t8 z + x y t0 * a t0 t1 ~ d t2 + t2 w t3 - w t3 t4 ^ c t4 t5 * Z t5 t6 / t6 x t7 + t1 t7 t8
81
Postfix to Quadruples postfix expression: z a x y + * z c 2 d ~ w + − ^ * x / + = + x y t0 * a t0 t1 ~ d t2 + t2 w t3 - w t3 t4 ^ c t4 t5 * Z t5 t6 / t6 x t7 + t1 t7 t8 = t8 z
82
Postfix to Quadruples postfix expression: z a x y + * z c 2 d ~ w + − ^ * x / + = + x y t0 * a t0 t1 ~ d t2 + t2 w t3 - w t3 t4 ^ c t4 t5 * Z t5 t6 / t6 x t7 + t1 t7 t8 = t8 z
83
Postfix to Quadruples postfix expression: z a x y + * z c 2 d ~ w + − ^ * x / + = + x y t0 * a t0 t1 ~ d t2 + t2 w t3 - w t3 t4 ^ c t4 t5 * Z t5 t6 / t6 x t7 + t1 t7 t8 = t8 z infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; --- t0 --- -t2- ----- t1 ------ ---- t3 ---- -------- t4 -------- ----------- t5 ----------- -------------- t6 ------------- ----------------- t7 -------------- ---------------------- t8 ---------------------------
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.