1. 程式人生 > >5.1 遞迴演算法及設計思想

5.1 遞迴演算法及設計思想

這一章節比較簡單,就歸納總結一下遞迴的思想。

0 定義及內涵

遞迴(英語:Recursion),又譯為遞迴,在數學與電腦科學中,是指在函式的定義中使用函式自身的方法。

英文的Recursion從詞源上分析只是"re- (again)" + "curs- (come, happen)" 也就是重複發生,再次重現的意思。 而對應的中文翻譯 ”遞迴“ 卻表達了兩個意思:”遞“+”歸“。 這兩個意思,正是遞迴思想的精華所在。從這層次上來看,中文翻譯反而更達意。

首先不得不提的是遞迴與迴圈的區別:

遞迴是靜中有動,有去有回。
迴圈是動靜如一,有去無回。

迴圈,在程式語言中就是while/for迴圈那些,可以想象就是,每一次動作都是相似的過程,可能每次都一樣,也可能每次發生相同的變化,最後達到迴圈停止的條件(如滿足一定的次數,或者某個變數達到限制條件/不定次數)。

遞迴呢?

還是要體會,有去有回區別於迴圈;迴圈也可能是從第一扇門走到最後一扇門,但是你往往拿著最後結果就從最後一扇門溜了