迭代是一種不斷用變數的舊值推出新值的過程。
例如,程式設計中常用到的計數cnt=cnt+1(或cnt++),就是用變數cnt的值加上1後賦值給cnt;對k的求和s=s+k,就是用變數s的值加上k後賦值給s。這種用變數cnt、s的新值取代舊值的過程,實際上就是迭代。
遞推實際上也是根據遞推關係式不斷推出新值的過程,與迭代有很多共同之處。很多迭代過程可以應用遞推來解決;反過來,很多遞推過程也可以應用迭代來解決。
比較遞推與迭代,兩者的時間複雜度是相同的。所不同的是,遞推往往設定陣列,而迭代只要設定迭代的簡單變數即可。
遞推過程中陣列變數帶有下標,推出過程比迭代更為清晰。也正因為遞推中應用陣列,因此保留了遞推過程中的中間資料。
參考:遞推和迭代的比較
遞迴和迭代的比較
迭代 iteration 與遞迴 recursion 是開發過程中常用的程式設計技巧,二者有相似,也有區別。1 遞迴 簡單地說,就是函式呼叫函式自己。通常把相同規則的業務,定義為乙個函式,通過函式的重複呼叫,完成整體業務的實現。用有限的語句來定義物件的無限集合。比如,乙個數字的階乘計算,通過遞迴實現...
遞迴和迭代的比較
遞迴中一定有迭代,但是迭代中不一定有遞迴 大部分可以相互轉換。相對來說,能用迭代不用遞迴 因為遞迴不斷呼叫函式,浪費空間,容易造成堆疊溢位 迭代難以理解,但是其執行過程中效率高 遞迴則易於理解,但是其執行效率相對於迭代低 在設計中,從效率考慮,如果能用迭代的話,就用迭代 但是從程式演算法的理解來看,...
遞迴,遞推,迭代的區別
include include using namespace std 遞迴 1 程式呼叫自身的程式設計技巧稱為遞迴,是函式自己呼叫自己。2 使用遞迴要注意的有兩點 1 遞迴就是在過程或函式裡面呼叫自身 2 在使用遞迴時,必須有乙個明確的遞迴結束條件,稱為遞迴出口.3 遞迴分為兩個階段 1 遞推 把...