Update hanota_problem.md

k神这里能够将n-1个圆盘看作一个整体的前提是不是需要一点思考🤔因此我写了这个版本,似乎更容易理解。
This commit is contained in:
Fuuuuuji 2024-07-28 21:35:17 +08:00 committed by GitHub
parent 89a911583d
commit f5fca1f3d1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -68,7 +68,7 @@
从本质上看,**我们将问题 $f(3)$ 划分为两个子问题 $f(2)$ 和一个子问题 $f(1)$** 。按顺序解决这三个子问题之后,原问题随之得到解决。这说明子问题是独立的,而且解可以合并。
至此,我们可总结出下图所示的解决汉诺塔问题的分治策略:将原问题 $f(n)$ 划分为两个子问题 $f(n-1)$ 和一个子问题 $f(1)$ ,并按照以下顺序解决这三个子问题。
至此,我们可总结出下图所示的解决汉诺塔问题(原问题$f(n)$的分治策略:现在先考虑不论以何种方式移动对于最后一个最大的圆盘需要将其移动至目标柱c子问题$f(1)$),由于只能将小圆盘放在大圆盘上,因此此时另外$(n-1)$个圆盘一定在b柱且排列规则子问题$f(n-1)$这意味着在这一步前已经完成了。接着考虑将在b柱上的$(n-1)$个圆盘移动至c柱子问题$f(n-1)$),这样就将原问题 $f(n)$ 划分为两个子问题 $f(n-1)$ 和一个子问题 $f(1)$ ,并必定按照以下顺序解决这三个子问题。
1. 将 $n-1$ 个圆盘借助 `C``A` 移至 `B`
2. 将剩余 $1$ 个圆盘从 `A` 直接移至 `C`