AlgoThrive
← All recursion topics

Tower of Hanoi

ActiveReturned

towers

move n-1 out of the way, move disk n, move n-1 back on

3
2
1
A
B
C

pseudocode

hanoi(n, from, to, via)
if n == 0: return
hanoi(n-1, from, via, to)
move disk n: from -> to
hanoi(n-1, via, to, from)

recursion tree

every call branches, every return climbs back

hanoi(3, A→C)

Frame 1 / 60

Call hanoi(3, A→C)

start

4

n: 1–4