1. 程式人生 > >6.7

6.7

定義 nbsp target 所有 多次 減少 還原 條件 類對象

遞歸:

程序調用自身的編程技巧稱為遞歸( recursion)。遞歸做為一種算法在程序設計語言中廣泛應用。 一個過程或函數在其定義或說明中有直接或間接調用自身的一種方法,它通常把一個大型復雜的問題層層轉化為一個與原問題相似的規模較小的問題來求解,遞歸策略只需少量的程序就可描述出解題過程所需要的多次重復計算,大大地減少了程序的代碼量。遞歸的能力在於用有限的語句來定義對象的無限集合。一般來說,遞歸需要有邊界條件、遞歸前進段和遞歸返回段。當邊界條件不滿足時,遞歸前進;當邊界條件滿足時,遞歸返回。

定義:

遞歸,就是在運行的過程中調用自己。 構成遞歸需具備的條件: 1. 子問題須與原始問題為同樣的事,且更為簡單; 2. 不能無限制地調用本身,須有個出口,化簡為非遞歸狀況處理。 在數學和計算機科學中,遞歸指由一種(或多種)簡單的基本情況定義的一類對象或方法,並規定其他所有情況都能被還原為其基本情況。 例如,下列為某人祖先的遞歸定義: 某人的雙親是他的祖先(基本情況)。某人祖先的雙親同樣是某人的祖先(遞歸步驟)。斐波納契數列(Fibonacci Sequence),又稱黃金分割數列,指的是這樣一個數列:1、1、2、3、5、8、13、21..... I[1]
斐波納契數列是典型的遞歸案例: 遞歸關系就是實體自己和自己建立關系。

6.7