汉诺塔问题
Last updated
Last updated
问题简述
思路
定义 move(i, left, right, mid)
表示把 i 个圆盘从 left 移动到 right,通过 mid;
移动过程:
move(i - 1, left, mid, right)
:先把上面 i-1 个圆盘从 left 移动到 mid,通过 right;
f'move from {left} to {right}'
:把最底下的圆盘从 left 移动到 right
move(i - 1, mid, right, left)
:再把这 i-1 个圆盘从 mid 移动到 right,通过 left