Towers of Hanoi - PowerPoint PPT Presentation

About This Presentation
Title:

Towers of Hanoi

Description:

Towers of Hanoi. Three pegs, one with n disks of decreasing diameter; two other pegs are empty ... Towers of Hanoi ... Towers of Hanoi. Total number of method calls ... – PowerPoint PPT presentation

Number of Views:281
Avg rating:3.0/5.0
Slides: 6
Provided by: iit1
Category:
Tags: hanoi | towers

less

Transcript and Presenter's Notes

Title: Towers of Hanoi


1
Towers of Hanoi
  • Three pegs, one with n disks of decreasing
    diameter two other pegs are empty
  • Task move all disks to the third peg under the
    following constraints
  • Can move only the topmost disk from one peg to
    another in one step
  • Cannot place a smaller disk below a larger one
  • An example where recursion is much easier to
    formulate than a loop-based solution

2
Towers of Hanoi
  • We want to write a recursive method shift (n,
    source, target, using) which moves n disks from
    peg source to target with the help of peg
    using for intermediate transfers
  • The first step is to formulate the algorithm
  • Observation shift (n, source, target, using) ?
    shift (n-1, source, using, target) followed by
    transferring the largest disk from peg source
    to peg target and then calling shift (n-1,
    using, target, source)
  • Stopping condition n 1

3
Tower of Hanoi
  • class hanoi
  • static int counter 0
  • public static void shift(int n, char source,
    char target, char using)
  • counter counter 1
  • if (n1) System.out.println(source" -gt
    "target)
  • else if (n gt 1)
  • shift(n-1,source,using,target)
  • System.out.println(source" -gt
    "target)
  • shift(n-1,using,target,source)
  • // How many moves needed? 2n-1

4
Tower of Hanoi
  • public static void main (String args)
  • int n 3
  • shift(n,'a','c','b')
  • System.out.println(counter)

5
Towers of Hanoi
  • Total number of method calls
  • Let Tn be the number of method calls to solve for
    n disks
  • Tn 2Tn-1 1 for n gt 1 T1 1
Write a Comment
User Comments (0)
About PowerShow.com