重點:
1.待解問題 必須能被分解成相同問題的子問題。
2.分清屬於兩種遞迴中的那一種,一種直接遞迴,一種間接遞迴。
直接遞迴:函式內部就開始呼叫自身,形成遞迴
間接遞迴:如:fun_a 呼叫fun_b,而fun_b反過來再呼叫fun_a,形成遞迴
3.******if條件結束語句,一定要寫(最好直接寫在函式開頭,免得後面寫的忘性了,就忘記了)!!!
例子:
1.階乘:
**:
long jc(int n)
2.漢諾塔(a,b,c三個柱子,把a上的盤子全移到c上,大的只能在小的下面)。
按照上面的三點:
1. 一共分三步進行。第一:把a上的n-1個移到b上,第二:把a上最後乙個移到c,第三:把b上的n-1個移到c
(對於第一步上的(n-1個的)b的處理。第一:(n-1-1)移到a。第二:剩下最大的到c,第三剩下的a上的(n-1-1)移到c)
此時從括號裡開始現成了乙個回到a的迴圈!!!(把n-1-1個移到c)。個人覺得,這是思想上最重要的一點!
2.直接呼叫
3.結束就是最後乙個從a到c
我剛開始就是懶得去想,覺得簡單,結果一直似懂非懂的,**也寫不出來。事實證明還是要腳踏實地,多學多練。
**:#include
void hnt(char a,char b,char c,int n);
int cnt;
int main()
void hnt(char a,char b,char c,int n)
else
}
java的個人經驗
第二課 粉刷一座建造好的涼亭會很困難 有一次,幾個工人在家裡修涼亭,他們在涼亭建好後才開始粉刷。爸爸看到後指出,如果這些工人能在這些木頭放在地面上就開始粉刷的話,他們就能節 約1 10的時間,而且效果也會更好。粉刷之後只需做一些連線工作就可以很快的建造起這座涼亭。粉刷已經建造好的涼亭不僅又慢又不方便...
Xcode 個人使用經驗
本人常在linux上寫c程式,每每用gdb除錯都好累,作為一名mac 使用者,xcode屢屢也被冷遇,畢竟其寫 不如macvim,看 不如source insight,所以總覺得缺點什麼也就不被什麼重用,只有除錯重要 才拿來用用,不過這裡還是記錄些自己的使用經驗。快捷鍵說的人太多了,但都是長篇大幅,...
Mybatis的個人經驗
模糊查詢方法1 select from tablename where name likeconcat concat 模糊查詢方法2 select from tablename where name like 模糊查詢方法3 使用 代替 select from tablename wherename...