在叙述刚开始时:---------进入递归时 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 09:01 编辑
以下是我个人理解,2层时的逻辑过程:
3层时,涉及到太多的X,Y,Z对‘a’,'b','c' 赋不同的值,实在想不出来了。 真难 谢谢,终于理解了!感恩! 学习了 {:10_257:}{:10_254:}{:10_281:} 讲的很清楚,整个过程描述清晰,认真看几遍,对递归的理解更透彻了。 学习下。。。。。。。。。。。。。。
页:
1
[2]