漢諾塔(遞迴)

2021-09-25 08:58:06 字數 535 閱讀 4990

這兩天在學習遞迴,真是學的頭疼,以前也了解過遞迴,不過都是一些簡單的,比如:斐波拉契、階乘之類的,重新學習後,我發現我以前對遞迴有很多誤解,發現遞迴真妙。

當遞迴函式出現多次自己調自己的執行語句時,是只執行自己上面的語句,比如下面的漢諾塔函式裡

第一條函式呼叫,它只執行4,6,7行,

然後再呼叫,直到n=1,執行第5行,

然後再接著執行下面的語句第9行,

到10行再呼叫該函式

這次就是執行整個了

到第8行再重複我上面說的

然後執行完再第9行

直到第10行的n=1返回邊界

再返回主函式,這個程式算是結束了

可能我說的太冗雜了,但真的是我自己一點一點推的,弄了幾個小時,可能是太笨了,唉,萬事開頭難,我一定會堅持下去的, 加油!

#include void hanoi(int n, char x, char y, char z)//n為漢諾塔層數,其他三個是柱子名稱  } 

int main (void)

漢諾塔 遞迴

個人理解遞迴函式的基本要求就是,函式中呼叫函式本身,滿足特定的條件後返回。include include include include include include include include include include include include include 標頭檔案引用的較多...

遞迴漢諾塔

遞迴問題 遞迴要有三個要素 1.遞迴結束條件 2.遞迴結束時的處理 3.抽取重複的邏輯,剝離外殼 重點都在這一步 漢諾塔問題 把圓盤從下面開始按大小順序重新擺放在另一根柱子上。且規定,在小圓盤上不能放大圓盤,在三根柱子之間一次只能移動乙個圓盤。首先,要搞這個編碼得要知道漢諾塔的解題思路 1.把a塔上...

遞迴 漢諾塔

漢諾塔問題。這裡順便可以求出一共需要搬運的次數。以下是漢諾塔問題的解法 class hanoi from 搬運的起點,to 搬運的目標地,middle 臨時中轉地 private static int hanoi int level,char from,char to,char middle int...