STACK STACK STACK OPERATIONS STACK OPERATIONS PUSH ALGORITHM PUSH ALGORITHM POP ALGORITHM POP...

21
STACK

Transcript of STACK STACK STACK OPERATIONS STACK OPERATIONS PUSH ALGORITHM PUSH ALGORITHM POP ALGORITHM POP...

Page 1: STACK STACK  STACK OPERATIONS STACK OPERATIONS  PUSH ALGORITHM PUSH ALGORITHM  POP ALGORITHM POP ALGORITHM  USES OF STACK USES OF STACK  THE TOWER.

STACK

Page 2: STACK STACK  STACK OPERATIONS STACK OPERATIONS  PUSH ALGORITHM PUSH ALGORITHM  POP ALGORITHM POP ALGORITHM  USES OF STACK USES OF STACK  THE TOWER.

STACK STACK OPERATIONS PUSH ALGORITHM POP ALGORITHM USES OF STACK THE TOWER OF HANOI

TOPICS TO BE DISCUSSED

Page 3: STACK STACK  STACK OPERATIONS STACK OPERATIONS  PUSH ALGORITHM PUSH ALGORITHM  POP ALGORITHM POP ALGORITHM  USES OF STACK USES OF STACK  THE TOWER.

STACK Stores a set of elements in a particular order Stack principle: LAST IN FIRST OUT

= LIFO

It means: the last element inserted is the first one to be removed Which is the first element to pick up?

BACK

Page 4: STACK STACK  STACK OPERATIONS STACK OPERATIONS  PUSH ALGORITHM PUSH ALGORITHM  POP ALGORITHM POP ALGORITHM  USES OF STACK USES OF STACK  THE TOWER.

BASIC STACK OPERATIONS

The stack concept is introduced and two basic stack operations are discussed:

•Push•Pop

Page 5: STACK STACK  STACK OPERATIONS STACK OPERATIONS  PUSH ALGORITHM PUSH ALGORITHM  POP ALGORITHM POP ALGORITHM  USES OF STACK USES OF STACK  THE TOWER.
Page 6: STACK STACK  STACK OPERATIONS STACK OPERATIONS  PUSH ALGORITHM PUSH ALGORITHM  POP ALGORITHM POP ALGORITHM  USES OF STACK USES OF STACK  THE TOWER.
Page 7: STACK STACK  STACK OPERATIONS STACK OPERATIONS  PUSH ALGORITHM PUSH ALGORITHM  POP ALGORITHM POP ALGORITHM  USES OF STACK USES OF STACK  THE TOWER.

BACK

Page 8: STACK STACK  STACK OPERATIONS STACK OPERATIONS  PUSH ALGORITHM PUSH ALGORITHM  POP ALGORITHM POP ALGORITHM  USES OF STACK USES OF STACK  THE TOWER.

PUSH ALGORITHMSTEP 1: [overflow ?] If Top = N then write

“overflow” return [end of if statement]STEP 2: [increment Top] Top:=Top + 1STEP 3: [insert new element] S[Top]:=XSTEP 4: [finished] return

S=name of stackX=element to be insertedTop=top pointerN=maximum size of stack

BACK

Page 9: STACK STACK  STACK OPERATIONS STACK OPERATIONS  PUSH ALGORITHM PUSH ALGORITHM  POP ALGORITHM POP ALGORITHM  USES OF STACK USES OF STACK  THE TOWER.

POP ALGORITHMSTEP 1: [underflow ?] If Top = 0 then write “underflow” return [end of if statement]STEP 2: [delete elements] X:=S[Top]STEP 3: [decrement pointer] Top:=Top-1STEP 4: [finished] return

S=name of stackTop= top pointerX=variable used to store deleted elements

BACK

Page 10: STACK STACK  STACK OPERATIONS STACK OPERATIONS  PUSH ALGORITHM PUSH ALGORITHM  POP ALGORITHM POP ALGORITHM  USES OF STACK USES OF STACK  THE TOWER.

SOME USES OF STACK Stacks are used for:

◦ Any sort of nesting (such as parentheses)◦ Evaluating arithmetic expressions (and other

sorts of expression)◦ Implementing function or method calls◦ Keeping track of previous choices (as in

backtracking)◦ Keeping track of choices yet to be made (as in

creating a maze)

BACK

Page 11: STACK STACK  STACK OPERATIONS STACK OPERATIONS  PUSH ALGORITHM PUSH ALGORITHM  POP ALGORITHM POP ALGORITHM  USES OF STACK USES OF STACK  THE TOWER.

In the great temple of Brahma in Benares, on a brass plate under the dome that marks the center of the world, there are 64 disks of pure gold that the priests carry one at a time between these diamond needles. According to Brahma's immutable law: No disk may be placed on a smaller disk. In the beginning of the world all 64 disks formed the Tower of Brahma on one needle. Now, however, the process of transfer of the tower from one needle to another is in mid course. When the last disk is finally in place, once again forming the Tower of Brahma but on a different needle, then will come the end of the world and all will turn to dust.

THE TOWER OF HANOI

Page 12: STACK STACK  STACK OPERATIONS STACK OPERATIONS  PUSH ALGORITHM PUSH ALGORITHM  POP ALGORITHM POP ALGORITHM  USES OF STACK USES OF STACK  THE TOWER.

◦ GIVEN: three poles◦ a set of discs on the first pole, discs of different sizes,

the smallest disc at the top◦ GOAL: move all the discs from the left pole to the

right one. ◦ CONDITIONS: only one disc may be moved at a time. ◦ A disc can be placed either on an empty pole or on

top of a larger disc.

The Tower of HanoiA Stack-based Application

Page 13: STACK STACK  STACK OPERATIONS STACK OPERATIONS  PUSH ALGORITHM PUSH ALGORITHM  POP ALGORITHM POP ALGORITHM  USES OF STACK USES OF STACK  THE TOWER.

TOWER OF HANOI

INITIAL STATE

Page 14: STACK STACK  STACK OPERATIONS STACK OPERATIONS  PUSH ALGORITHM PUSH ALGORITHM  POP ALGORITHM POP ALGORITHM  USES OF STACK USES OF STACK  THE TOWER.

TOWER OF HANOI

MOVE1

Page 15: STACK STACK  STACK OPERATIONS STACK OPERATIONS  PUSH ALGORITHM PUSH ALGORITHM  POP ALGORITHM POP ALGORITHM  USES OF STACK USES OF STACK  THE TOWER.

TOWER OF HANOI

MOVE 2

Page 16: STACK STACK  STACK OPERATIONS STACK OPERATIONS  PUSH ALGORITHM PUSH ALGORITHM  POP ALGORITHM POP ALGORITHM  USES OF STACK USES OF STACK  THE TOWER.

TOWER OF HANOI

MOVE 3

Page 17: STACK STACK  STACK OPERATIONS STACK OPERATIONS  PUSH ALGORITHM PUSH ALGORITHM  POP ALGORITHM POP ALGORITHM  USES OF STACK USES OF STACK  THE TOWER.

TOWER OF HANOI

MOVE 4

Page 18: STACK STACK  STACK OPERATIONS STACK OPERATIONS  PUSH ALGORITHM PUSH ALGORITHM  POP ALGORITHM POP ALGORITHM  USES OF STACK USES OF STACK  THE TOWER.

TOWER OF HANOI

MOVE 5

Page 19: STACK STACK  STACK OPERATIONS STACK OPERATIONS  PUSH ALGORITHM PUSH ALGORITHM  POP ALGORITHM POP ALGORITHM  USES OF STACK USES OF STACK  THE TOWER.

TOWER OF HANOI

MOVE 6

Page 20: STACK STACK  STACK OPERATIONS STACK OPERATIONS  PUSH ALGORITHM PUSH ALGORITHM  POP ALGORITHM POP ALGORITHM  USES OF STACK USES OF STACK  THE TOWER.

TOWER OF HANOI

MOVE 7(FINAL STATE) BACK

Page 21: STACK STACK  STACK OPERATIONS STACK OPERATIONS  PUSH ALGORITHM PUSH ALGORITHM  POP ALGORITHM POP ALGORITHM  USES OF STACK USES OF STACK  THE TOWER.

THANKS..

BACK