私はハノイの再帰的実装の塔をPythonで研究していました。私はどのように理解couldntの私はハノイの塔コールトレース
1
n= 0 src= C inm= A dest= B
件まで理解することができ
n= 2 src= A inm= B dest= C
n= 1 src= A inm= C dest= B
n= 0 src= A inm= B dest= C
A -> B
1
n= 0 src= C inm= A dest= B
A -> C
2
n= 1 src= B inm= A dest= C
n= 0 src= B inm= C dest= A
B -> C
1
n= 0 src= A inm= B dest= C
:私のprgramでは、私は答えは同じように印刷され
def hanoi(n, src, inm, dest):
print "n=",n,"src=",src,"inm=",inm,"dest=",dest
if n == 0:
return
hanoi(n-1, src, dest, inm)
print src, '->', dest
print n
hanoi(n-1, inm, src, dest)
hanoi(2,'A','B','C')
のようにそれをよりよく知るために異なるポイントで印刷しました - > Cがこの後に印刷されます。 n = 0の呼び出しの後にsrc = A inm = B dest = C、私は関数が返されることを知っています。そこでは、アクティブな関数はn = 1です。src = A inm = C dest = B何が起こりますか?
トレースを説明してください。