其實生活上有很多事情都是以遞迴的方式來執行,只是我們都沒有發現,以一個經典案例,我們從小就學過的費式數列
1,1,2,3,5,8,13,...
想了解更多可以參考費氏數列
在滿足費式數列的條件下,可以將式子列為下式
f(0)=1,f(1)=1
f(n) = f(n-1)+n
而要使用遞迴時首先要掌握幾個原則
因此將式子以C的方式呈現及為
int f(int n){
if(n==0 || n==1) return 1
else return (f(n-1)+f(n-2))
}
其中假設n=6時會呼叫幾次f?且會回傳多少?而又有多少重複呼叫?
會如以下圖片
而另一個例子為[Day2]Function中的n階層
int fun(int n){
int fac=1;
if(n>=0){
fac = n*fun(n-1);
}
return fac;
}