算法笔记
🦧递归
00 min
Jul 2, 2021
Oct 21, 2023
type
status
date
slug
summary
tags
category
icon
password

Hanoi

问题分析:
设三根柱子分别为 x,y, z , 盘子在 x 柱上,要移到 z 柱上。
  1. 当 n=1 时,盘子直接从 x 柱移到 z 柱上;
  1. 当 n>1 时, 则
    1. 设法将 前 n –1 个盘子 借助 z ,从 x 移到y 柱上,把 盘子 n 从 x 移到 z 柱上;
    2. 把n –1 个盘子从 y 移到 z 柱上。
 
汉诺塔问题可以分成三步(三个子问题):
1.Hanoi(n-1, x, z, y) //将X柱上的n-1个园盘借助Z柱移到Y柱上,此时X柱只剩下第n个园盘;
2.Move( n, x, z) //将X柱上的第n个移动到Z柱
3.Hanoi(n-1, y, x, z) //将Y柱上的n-1个园盘借助X柱移到Z柱上;
 
😋
count会和标准库冲突,ambiguous!!!记得换个名字
 

Comments