C裡如何使用遞迴演算法?什麼是遞迴啊

時間 2022-04-05 12:15:11

1樓:匿名使用者

遞迴就是反覆呼叫函式自身【有條件的呼叫】,但不滿足呼叫自身的條件時,就返回到上一層【當然是和自己一樣的函式,但層次不同】,一直返回到第一次呼叫的地方

2樓:匿名使用者

static void main(string args)

...public static int process2(int i)...

3樓:匿名使用者

遞迴演算法:是一種直接或者間接地呼叫自身的演算法。在計算機編寫程式中,遞迴演算法對解決一大類問題是十分有效的,它往往使演算法的描述簡潔而且易於理解。

遞迴演算法的特點

遞迴過程一般通過函式或子過程來實現。

遞迴演算法:在函式或子過程的內部,直接或者間接地呼叫自己的演算法。

遞迴演算法的實質:是把問題轉化為規模縮小了的同類問題的子問題。然後遞迴呼叫函式(或過程)來表示問題的解。

遞迴演算法解決問題的特點:

(1) 遞迴就是在過程或函式裡呼叫自身。

(2) 在使用遞增歸策略時,必須有乙個明確的遞迴結束條件,稱為遞迴出口。

(3) 遞迴演算法解題通常顯得很簡潔,但遞迴演算法解題的執行效率較低。所以一般不提倡用遞迴演算法設計程式。

(4) 在遞迴呼叫的過程當中系統為每一層的返回點、區域性量等開闢了棧來儲存。遞迴次數過多容易造成棧溢位等。所以一般不提倡用遞迴演算法設計程式。

遞迴演算法所體現的「重複」一般有三個要求:

一是每次呼叫在規模上都有所縮小(通常是減半);

二是相鄰兩次重複之間有緊密的聯絡,前一次要為後一次做準備(通常前一次的輸出就作為後一次的輸入);

三是在問題的規模極小時必須用直接給出解答而不再進行遞迴呼叫,因而每次遞迴呼叫都是有條件的(以規模未達到直接解答的大小為條件),無條件遞迴呼叫將會成為死迴圈而不能正常結束。

例子如下:

描述:把乙個整數按n(2<=n<=20)進製表示出來,並儲存在給定字串中。比如121用二進位制表示得到結果為:「1111001」。

引數說明:s: 儲存轉換後得到的結果。

n: 待轉換的整數。

b: n進製(2<=n<=20)

void

numbconv(char *s, int n, int b)

/* figure out first n-1 digits */

numbconv(s, n/b, b);

/* add last digit */

len = strlen(s);

s[len] = "0123456789abcdefghijklmnopqrstuvwxyz"[n%b];

s[len+1] = '\0';

}void

main(void)

exit(0);

}遞迴演算法簡析(pascal語言)

遞迴是電腦科學的乙個重要概念,遞迴的方法是程式設計中有效的方法,採用遞迴編寫

程式能是程式變得簡潔和清晰.

一 遞迴的概念

1.概念

乙個過程(或函式)直接或間接呼叫自己本身,這種過程(或函式)叫遞迴過程(或函式).

c#中遞迴的具體用法

4樓:匿名使用者

遞迴就是自己呼叫自己的方法

一列數的規則如下: 1、1、2、3、5、8、13、21、34......

求第30位數是多少,用遞迴演算法實現。(c#語言)

-------------------------------------------

a0 = 0,a1 = 1,an = an-1 + an-2(n>=2)

int iarray = new int[31];

iarray[0] = 0;

iarray[1] = 1;

for (int i = 2; i <= 30; i++)

或者int i=0,ii=1,s=1,num=0;

while(num<=30)

else

ii=s;

num++;}

請問怎麼理解c#的遞迴呼叫?

5樓:匿名使用者

最好的辦法是自己除錯。看的最清楚。

遞迴呼叫就是 函式內部的某一句呼叫函式本身。遞迴呼叫函式體內部必須有終止條件,就像迴圈一樣,不然會無限遞迴導致程式堆疊不夠用,然後報錯。

用遞迴怎麼寫啊

6樓:匿名使用者

這個遞迴不了,直接迴圈就行了。

7樓:

顯然是用迴圈,直到s>=d結束,至於你說每加一次都要得到結果,那你用個陣列把每次加的結果記錄下來就行了。最後一起返回

C語言求此全排列遞迴演算法解析,C語言如何用遞迴演算法求1 2 3 n

used陣列是全域性變數有隱含初值0 關於全排列的演算法你可以理解為深搜加回溯。include define max 10 int used max 用來標記數字是否已經在前面使用過 int result max 存放結果int n void print 輸出結果void proc int step...

什麼是遞迴呼叫,什麼是遞迴函式? 怎樣實現遞迴?

小小歐平兒 遞迴呼叫是一種特殊的巢狀呼叫,是某個函式呼叫自己或者是呼叫其他函式後再次呼叫自己的,只要函式之間互相呼叫能產生迴圈的則一定是遞迴呼叫,遞迴呼叫一種解決方案,一種是邏輯思想,將一個大工作分為逐漸減小的小工作。遞迴函式特點 1 函式要直接或間接呼叫自身。2 要有遞迴終止條件檢查,即遞迴終止的...

什麼是遞迴的概念,什麼是“遞迴”?“遞迴”有什麼用?

聲琨 遞迴是一種重要的程式設計技術。該方法用於讓一個函式從其內部呼叫其自身。一個示例就是計算階乘。0 的階乘被特別地定義為 1。更大數的階乘是通過計算 1 2 來求得的,每次增加 1,直至達到要計算其階乘的那個數。下面的段落是用文字定義的計算階乘的一個函式。如果這個數小於零,則拒絕接收。如果不是一個...