python--再帰関数を説明

再帰的アルゴリズムはもちろん、直接的または間接的に自分自身を呼び出すアルゴリズムです。

機能の問題を解決するための再帰的アルゴリズム:

(1)プロシージャまたは関数に再帰的に自分自身を呼び出すこと

再帰ポリシーを使用する場合(2)、それは再帰的な輸出と呼ばれる明確な再帰終了条件を、持っている必要があります。

(3)多くの場合、解決の再帰的アルゴリズムは非常に単純ですが、下の再帰的なアルゴリズムは、それが一般的に再帰的なアルゴリズム設計プログラムを使用して提唱されていない業務の効率化を解きます。

(4)システムリターンポイントにおいて各層の再帰呼び出しの過程において、格納するために開かスタックの部分量、過剰な再帰スタックオーバーフローが発生しやすいです。

2、再帰が必要です

「繰り返し」で具体再帰的アルゴリズムは、一般的に3つの要件があります。

(1)規模の各コールが減少している(通常の半分)

(2)二つの隣接する反復間の密接な関係は、(通常は一度ポストとして出力する前に、一度入力した)後の時間のために準備するために、以前あります

(3)問題の大きさは、(スケールレベルを直接条件のサイズに答える達した)無条件再帰呼び出しとなるであろう各再帰呼び出しが条件となるように、代わりに、再帰呼び出しの直接の回答を与えなければならない非常に小さいです無限ループが正常に終了しません。

 

例:関数を記述し、再帰得るフィボナッチ数は10の数であり、値が呼び出し側に戻されます。

1つの デフFOO(深さ、A1、A2):
 2      であれば奥行き== 10 3          戻りA1
 4      A3 = A1 + A2
 5      R = FOO(深さ+ 1 、A2、A3)
 6      リターンR
 7  
8 RET = FOO(1 、0、1 9  プリント(RET)
コードの表示

 

おすすめ

転載: www.cnblogs.com/june-L/p/11605415.html