1、遞歸的基本概念:調用程序本身的編程技巧叫做遞歸,也就是函數調用自身。壹個函數在其定義中直接或間接調用自己的方法,通常會將壹個較大的復雜問題變成壹個與原問題相似的較小問題來求解,這樣可以大大減少代碼量。遞歸的能力在於用有限的句子定義無限的對象集合。
2.叠代:通過使用變量的原始值來計算它的新值。如果遞歸調用自己,叠代意味著A壹直調用b。
3.遞歸中壹定有叠代,但叠代中不壹定有遞歸,大部分是可以相互轉換的。如果可以叠代,就不需要遞歸,遞歸調用函數,浪費空間,如果遞歸太深,容易造成堆棧溢出。
程序調用自身的編程技巧叫做遞歸。遞歸作為壹種算法,在程序設計語言中被廣泛使用。壹個過程或函數在其定義或描述中有壹個直接或間接調用自身的方法。它通常將壹個大而復雜的問題轉化為壹個與原問題相似的更小的問題來解決。遞歸策略可以用很少的程序描述解題過程中所需的重復計算,大大減少了程序的代碼量。遞歸的能力在於用有限的語句定義無限的對象集合。壹般來說,遞歸需要邊界條件,遞歸前進段和遞歸返回段。當邊界條件不滿足時,遞歸推進;當滿足邊界條件時,它遞歸返回。
遞歸算法與普通循環等常用算法相比效率較低。所以要盡量避免遞歸,除非沒有更好的算法或者特定的情況下遞歸更適合。在遞歸調用的過程中,系統為每壹層的返回點和局部量開辟壹個棧來存儲。遞歸太多容易造成堆棧溢出。