遞迴函式總結

2021-08-18 01:28:05 字數 958 閱讀 9402

遞迴函式是一種呼叫自身的函式,通過運用遞迴函式我們可以解決許多繁瑣的問題,可以避免一些繁瑣的操作,比如記憶化搜尋,運用記憶化搜尋我們可以使得我們不必計算重複工作。

可以縮短計算時間,使計算機更高效。

遞迴通常用來解決結構自相似的問題。所謂結構自相似,是指構成原問題的子問題與原問題在結構上相似,可以用類似的方法解決。具體地,整個問題的解決,可以分為兩部分:第一部分是一些特殊情況,有直接的解法;第二部分與原問題相似,但比原問題的規模小。實際上,遞迴是把乙個不能或不好解決的大問題轉化為乙個或幾個小問題,再把這些小問題進一步分解成更小的問題,直至每個小問題都可以直接解決。因此,遞迴有兩個基本要素:

首先我們要找到遞迴的終止條件,然後我們要分析對於大問題分小問題的方法找到一種表示式解決小問題。

遞迴總的分為兩類,列舉及回溯,回溯相對比較簡單,相當於迴圈。

而列舉相對來說對方法的要求比較高,需要我們找到合適的思路,將情況一一枚舉。

#include

using

namespacestd;

intf(int,int);

intmain()

} intf(intb,intm)

returns;

}這是一種用迴圈思想寫的程式。

void perm(int list, int k, int m)

else

for(intj=k;j<=m;j++)

}

這則是一種典型的列舉思想。

函式遞迴總結

函式的遞迴 例1.接收乙個整型值,並且按順序列印他的每一位.例如 輸入 1234.輸出 1 2 3 4 include include void print int num printf d n num 10 intmain 執行結果 例2.求字串的長度 法1.利用strlen函式直接求 inclu...

函式的遞迴總結

函式的遞迴總結 概念 程式呼叫自身的程式設計技巧稱為遞迴 思考方式 在於在於將大事化小 遞迴的兩個條件 1.有限制條件,當滿足這個限制條件時,遞迴便不再進行。2.每次遞迴呼叫後越來越接近限制條件,讓程式得以執行結束。使用遞迴必須要明白 1.明確這個函式要完成那些東西。2.尋找遞迴要結束的條件。3.找...

洛谷過程函式與遞迴總結

這題一開始是想用遞迴的方法解決,就是定義乙個全域性變數來計數,然後通過題中該自然數不能超過原數一半的條件來結束呼叫,但是該方法時間複雜度過大,會超時,如下 includeint s 1 void sum int n int main 本題可以從另乙個角度切入,由於本題是對輸入的數用相同的方法進行處理...