1樓:
我覺得關鍵區別在二者的開銷:
迭代操作的開銷比較小,就是幾個變數來回賦值;而遞迴需要大量的函式呼叫,系統開銷很大。
二者的聯絡:
在一些情況下(尾遞迴),遞迴可以簡單地轉換成迭代。轉不成迭代的複雜情況一般需要自己構造棧來模擬函式呼叫過程,從而減少系統開銷。
2樓:匿名使用者
遞迴呼叫自身
迭代就是a不斷呼叫b
遞迴與迭代的區別
3樓:匿名使用者
1、「遞迴」是指函式/過程/子程式在執行過程式中直接或間接呼叫自身而產生的重入現像.。在計算機程式設計裡,遞迴指的是乙個過程:函式不斷引用自身,直到引用的物件已知。
2、「迭代」的含義是:重複反饋過程的活動,其目的通常是為了逼近所需目標或結果。每一次對過程的重複稱為一次「迭代」,而每一次迭代得到的結果會作為下一次迭代的初始值。
4樓:匿名使用者
簡單來說,遞迴就是自己呼叫自己,如:
int abc(...)
return 0;
}而遞迴是重複一組指令,不斷地根據變數的舊值推出新值,如:
for(; ; ;) //迭代終止條件
5樓:習岑玉獻
乙個函式進行自身某種法則的復合是迭代,遞迴(給定數列,若項an+k與項an,an+1,an+2.....,an+k-1之間滿足函式關係式,an+k=f(an,an+1,an+2,an+3...an+k-1),
稱此關係為此數列的遞迴關係。
另附一些方法
由初始值a1,a2,
,ak及遞迴關係
an+k
=1an+k?1
+2an+k?2++
kan+
f(n)
所確定的數列稱為k
階常係數線性遞迴數列.
當f(n)=0
時,稱為k
階常係數齊次線性遞迴數列.
求遞迴數列的通項公式的常用方法:
代換法(代數代換,對數代換,三角代換等)、迭化歸法**化為等差數列、等比數列等)、待定系數學歸納法以及特徵根法等等.
C語言迴圈結構 迭代,C語言迭代與遞迴比較(舉例)
付費內容限時免費檢視 回答親您好,您的問題我已經看到啦,我需要幾分鐘來為您整理優質的答案希望您能耐心等待 希望回答完您可以給個贊哦!祝您生活愉快 語言中提供四種迴圈,即goto迴圈 while迴圈 do while迴圈和for迴圈。四種迴圈可以用來處理同一問題,一般情況下它們可以互相代替換,但一般不...
函式遞迴呼叫和迴圈語句使用的區別是什麼
遞迴,具體的我也說不清楚,一般用在比較特殊的地方,用求得的值作為引數再求值,依賴算出的結果,比如算派 迴圈,我覺得主要用在做一些比較有規律的事情上,比如處理陣列,迴圈輸出陣列或list中的資料,或者做排序和求和,在執行的時候不依賴之前的結果。這兩種方法解決的事情不同,多寫些程式就能體會出來,個人感覺...
java程式設計求123100的和用遞迴法
核心 如下 int sum 0 for int i 1 i 100 i system.out.print sum 當然你可以將核心 直接放在main 函式中,也可以放在某個函式中 如sum 根據你自己的需要進行選擇,如果放置在sum 函式中,可以讓函式有返回值int,函式體中加return 語句,直...