最干hanoi,看完直呼口干舌燥
Hanoi(汉诺塔问题)
一、什么是汉诺塔
在研究汉诺塔问题时,我们要明白到底什么是汉诺塔。
1、有三根相邻的柱子,标号为A,B,C。 2、A柱子上从下到上按金字塔状叠放着n个不同大小的圆盘。
3、现在把所有盘子一个一个移动到柱子B上,并且每次移动同一根柱子上都不能出现大盘子在小盘子上方。
关于汉诺塔的基本玩法呢,
大家也可以去度娘上搜索一下,切实感受一下。
本篇主要介绍解决汉诺塔问题的思想,所以玩法就不过多赘述。
二、分析
1、移动过程
就可以将其抽象成(这里是破解汉诺塔思想的关键):
假设A杆上有n个圆盘
第一步:把n - 1个圆盘从A杆经由C杆移动到B杆
第二步:将A杆上的第n个圆盘移动到C杆
第三步:再将n - 1个圆盘从B经A移动到C