bluesky0476 发表于 2020-2-8 21:40:39

本帖最后由 bluesky0476 于 2020-2-9 09:06 编辑

在叙述刚开始时:---------进入递归时 hanota(2,x,z,y),此时实参n=n-1=2,x=x, y=z, z=y的!!!不等于1,进入else,分成3枝(分支1:hannota(2,x,z,y),分支2:print(x,'-->',z),
分支3:hanota(2,y,x,z))------------

‘x’和x , 'y'和y, ‘z’和z ,感觉用起来乱套了。‘x’,'y',‘z’是不是改为 'a ',b', 'c'更容易理解些?小甲鱼讲课时,也是以 xyz, XYZ 予以区分的。

比如

hanota(2,a,c,b)   此时实参n=n-1=2,a=x, c=y, b=z

bluesky0476 发表于 2020-2-9 08:39:01

本帖最后由 bluesky0476 于 2020-2-9 09:01 编辑

以下是我个人理解,2层时的逻辑过程:
3层时,涉及到太多的X,Y,Z对‘a’,'b','c' 赋不同的值,实在想不出来了。

chen-chen 发表于 2020-4-28 22:22:10

真难

风铃- 发表于 2020-5-1 11:05:08

谢谢,终于理解了!感恩!

SHgg 发表于 2020-5-14 23:47:20

学习了

宋立赢 发表于 2020-6-8 07:28:23

{:10_257:}{:10_254:}{:10_281:}

WaKaKa2020 发表于 2020-7-2 20:13:05

讲的很清楚,整个过程描述清晰,认真看几遍,对递归的理解更透彻了。

sinaop 发表于 2021-1-14 08:32:41

学习下。。。。。。。。。。。。。。
页: 1 [2]
查看完整版本: 小甲鱼中关于汉诺塔的详细步骤讲解