INTRO TO
Data Structures
&
Algorithms
In the past lesson we discussed:
Characteristics of Data Structure
Data vs Information
Data Structure
Real world applications
Algorithms
Linear and Non-linear Data Structure
Types
D ATA S T R U C T U R E S &
Stack Data Structure
Empty Stack
-1 Top
3
D ATA S T R U C T U R E S &
Stack Data Structure
Empty Stack
y 0 Top
-1
4
D ATA S T R U C T U R E S &
Stack Data Structure
Empty Stack
a 1 Top
y 0
-1
5
D ATA S T R U C T U R E S &
Stack Data Structure
Empty Stack
r 2 Top
a 1
y 0
-1
6
D ATA S T R U C T U R E S &
Stack Data Structure
Empty Stack
r 3 Top
r 2
a 1
y 0
-1
7
D ATA S T R U C T U R E S &
Stack Data Structure
Empty Stack
A 4 Top
r 3
r 2
a 1
y 0
-1
8
D ATA S T R U C T U R E S &
Stack Operations
push()
Inserts data on top of the stack.
pop()
Removes data on top of the stack.
9
D ATA S T R U C T U R E S &
Stack Operations
isEmpty()
Checks if stack is empty.
isFull()
Checks if the stack is full.
10
D ATA S T R U C T U R E S &
Stack Operations
peek()
Returns the data at the top of the stack.
size()
Returns the size of the stack.
11
D ATA S T R U C T U R E S &
Stack Operations
Stack Operations Example
Operations
pop()
4
push(x)
3
pop()
push(‘y’) 2
push(‘a’) 1
push(‘r’)
0
push(‘r’)
push(‘A’) -1 Top
12
D ATA S T R U C T U R E S &
Stack Operations
Stack Operations Example
Operations
pop()
4
push(x)
3
pop()
push(‘y’) 2
push(‘a’) 1
push(‘r’)
0
push(‘r’)
push(‘A’) -1 Top
STACK UNDERFLOW
13
D ATA S T R U C T U R E S &
Stack Operations
Stack Operations Example
Operations
pop()
4
push(x)
3
pop()
push(‘y’) 2
push(‘a’) 1
push(‘r’)
x 0 Top
push(‘r’)
push(‘A’) -1
14
D ATA S T R U C T U R E S &
Stack Operations
Stack Operations Example
Operations
pop()
4
push(x)
3
pop()
push(‘y’) 2
push(‘a’) 1
push(‘r’)
0
push(‘r’)
push(‘A’) -1 Top
15
D ATA S T R U C T U R E S &
Stack Operations
Stack Operations Example
Operations
pop()
4
push(x)
pop() 3
push(‘y’) 2
push(‘a’)
1
push(‘r’)
push(‘r’) y 0 Top
push(‘A’) -1
16
D ATA S T R U C T U R E S &
Stack Operations
Stack Operations Example
Operations
pop()
4
push(x)
3
pop()
push(‘y’) 2
push(‘a’) 1
a Top
push(‘r’)
y 0
push(‘r’)
push(‘A’) -1
17
D ATA S T R U C T U R E S &
Stack Operations
Stack Operations Example
Operations
pop()
4
push(x)
3
pop()
push(‘y’) r 2 Top
push(‘a’) 1
a
push(‘r’)
y 0
push(‘r’)
push(‘A’) -1
18
D ATA S T R U C T U R E S &
Stack Operations
Stack Operations Example
Operations
pop()
4
push(x)
r 3 Top
pop()
push(‘y’) r 2
push(‘a’) 1
a
push(‘r’)
y 0
push(‘r’)
push(‘A’) -1
19
D ATA S T R U C T U R E S &
Stack Operations
Stack Operations Example
Operations
pop()
A 4 Top
push(x)
r 3
pop()
push(‘y’) r 2
push(‘a’) 1
a
push(‘r’)
y 0
push(‘r’)
push(‘A’) -1
20
D ATA S T R U C T U R E S &
Stack Operations
Stack Operations Example
Operations STACK OVERFLOW
push(‘A’)
A 4 Top
isFull()
r 3
pop()
peek() r 2
isFull() 1
a
isEmpty()
y 0
-1
21
D ATA S T R U C T U R E S &
Stack Operations
Stack Operations Example
Operations TRUE
push(‘A’)
A 4 Top
isFull()
r 3
pop()
peek() r 2
isFull() 1
a
isEmpty()
y 0
-1
22
D ATA S T R U C T U R E S &
Stack Operations
Stack Operations Example
Operations
push(‘A’)
A 4 Top
isFull()
r 3
pop()
peek() r 2
isFull() 1
a
isEmpty()
y 0
-1
23
D ATA S T R U C T U R E S &
Stack Operations
Stack Operations Example
Operations
push(‘A’)
4
isFull()
r 3 Top
pop()
peek() r 2
isFull() 1
a
isEmpty()
y 0
-1
24
D ATA S T R U C T U R E S &
Stack Operations
Stack Operations Example
Operations ‘r’
push(‘A’)
4
isFull()
r 3 Top
pop()
peek() r 2
isFull() 1
a
isEmpty()
y 0
-1
25
D ATA S T R U C T U R E S &
Stack Operations
Stack Operations Example
Operations FALSE
push(‘A’)
4
isFull()
r 3 Top
pop()
peek() r 2
isFull() 1
a
isEmpty()
y 0
-1
26
D ATA S T R U C T U R E S &
Stack Operations
Stack Operations Example
Operations FALSE
push(‘A’)
4
isFull()
r 3 Top
pop()
peek() r 2
isFull() 1
a
isEmpty()
y 0
-1
27
D ATA S T R U C T U R E S &
Stack Operations
Stack Operations Example
Operations 4
size()
4
pop()
r 3 Top
pop()
pop() r 2
pop() 1
a
isEmpty()
y 0
-1
28
D ATA S T R U C T U R E S &
Stack Operations
Stack Operations Example
Operations
size()
4
pop()
r 3 Top
pop()
pop() r 2
pop() 1
a
isEmpty()
y 0
-1
29
D ATA S T R U C T U R E S &
Stack Operations
Stack Operations Example
Operations
size()
4
pop()
3
pop()
pop() r 2 Top
pop() 1
a
isEmpty()
y 0
-1
30
D ATA S T R U C T U R E S &
Stack Operations
Stack Operations Example
Operations
size()
4
pop()
3
pop()
pop() r 2 Top
pop() 1
a
isEmpty()
y 0
-1
31
D ATA S T R U C T U R E S &
Stack Operations
Stack Operations Example
Operations
size()
4
pop()
3
pop()
pop() 2
pop() 1 Top
a
isEmpty()
y 0
-1
32
D ATA S T R U C T U R E S &
Stack Operations
Stack Operations Example
Operations
size()
4
pop()
3
pop()
pop() 2
pop() 1 Top
a
isEmpty()
y 0
-1
33
D ATA S T R U C T U R E S &
Stack Operations
Stack Operations Example
Operations
size()
4
pop()
3
pop()
pop() 2
pop() 1
isEmpty()
y 0 Top
-1
34
D ATA S T R U C T U R E S &
Stack Operations
Stack Operations Example
Operations
size()
4
pop()
3
pop()
pop() 2
pop() 1
isEmpty()
y 0 Top
-1
35
D ATA S T R U C T U R E S &
Stack Operations
Stack Operations Example
Operations
size()
4
pop()
3
pop()
pop() 2
pop() 1
isEmpty()
0
-1 Top
36
D ATA S T R U C T U R E S &
Stack Operations
Stack Operations Example
Operations TRUE
size()
4
pop()
3
pop()
pop() 2
pop() 1
isEmpty()
0
-1 Top
37
D ATA S T R U C T U R E S &
THANK
YOU