漢諾塔java代碼 如何理解漢諾塔遞歸?
如何理解漢諾塔遞歸?河內(nèi)塔可以理解為一個移動塔的游戲,移動n層塔從一個支柱到另一個2。這是河內(nèi)塔的遞歸原型,漢諾塔(n,a,c)-n層塔從一根柱子移動到c柱;每次你必須返回到這個原型,它被認為是遞歸完
如何理解漢諾塔遞歸?
河內(nèi)塔可以理解為一個移動塔的游戲,移動n層塔從一個支柱到另一個
2。這是河內(nèi)塔的遞歸原型,漢諾塔(n,a,c)-n層塔從一根柱子移動到c柱;每次你必須返回到這個原型,它被認為是遞歸完成
!3. 在中間B柱的幫助下,河內(nèi)塔的原型被寫為hunnuota(n,a,B,c)-n層塔在B柱的幫助下從a柱移動到c柱,這應(yīng)該被理解;
4。遞歸需要一個出口,這是控制條件。當n=1時,塔可以直接從a移到C,C是出口
5。當n>1時,這一步是理解漢諾塔遞歸的關(guān)鍵,它必須形成n-1層移到C柱的形式,可分為三步:
A.如果n層不能同時移動,可以理解為先將A上面的n-1層移到B柱
Ba柱,塔的剩余n層移到C柱,
C,然后在B列上形成n-1層移動到C列——
遞歸完成