漢諾塔三層步驟 如何理解漢諾塔遞歸?
如何理解漢諾塔遞歸?河內(nèi)塔可以理解為一個移動塔的游戲,移動n層塔從一個支柱到另一個2。這是河內(nèi)塔的遞歸原型,漢諾塔(n,a,c)-n層塔從一根柱子移動到c柱;每次你必須返回到這個原型,它被認(rèn)為是遞歸完
如何理解漢諾塔遞歸?
河內(nèi)塔可以理解為一個移動塔的游戲,移動n層塔從一個支柱到另一個
2。這是河內(nèi)塔的遞歸原型,漢諾塔(n,a,c)-n層塔從一根柱子移動到c柱;每次你必須返回到這個原型,它被認(rèn)為是遞歸完成
!3. 在中間B柱的幫助下,河內(nèi)塔的原型被寫為hunnuota(n,a,B,c)-n層塔在B柱的幫助下從a柱移動到c柱,這應(yīng)該被理解;
4。遞歸需要一個出口,這是控制條件。當(dāng)n=1時,塔可以直接從a移到C,C是出口
5。當(dāng)n>1時,這一步是理解漢諾塔遞歸的關(guān)鍵,它必須形成n-1層移到C柱的形式,可分為三步:
A.如果n層不能同時移動,可以理解為先將A上面的n-1層移到B柱
Ba柱,塔的剩余n層移到C柱,
C,然后在B列上形成n-1層移動到C列——
遞歸完成
既然你想用簡單的白話解釋遞歸算法,我就給你解釋一下,確保你能理解。
有個熟悉的故事,正好可以解釋遞歸。
這個故事不斷地調(diào)用自己,遞歸是一個函數(shù)多次調(diào)用自己。不同的是遞歸不能像這個故事那樣多次調(diào)用自己。遞歸必須有終止條件,它將在多次調(diào)用后終止。
這個解釋很口語化。