コンピュータプログラミングでは、 再帰という用語は、最終結果に到達するためにそれ自体の小さい部分を繰り返し計算する関数または方法を表します。 これは反復と似ていますが、一連の操作を繰り返すのではなく、再帰関数が自分自身の定義で自分自身を参照することによって反復を実行します。 再帰的プログラミングの概念は最初は理解するのが難しい場合がありますが、それを習得することは非常に便利です。 再帰は、コンピュータサイエンスの基本的なツールの1つです。
典型的な例は、数値の階乗を計算するための再帰的方法です。 整数nの階乗。n!と表記されます。 は、nにnより小さい正の整数すべてを乗算した結果です。 たとえば、3! = 3 x 2 x 1、つまり6と4になります。 因数を計算するための効率的な方法は、再帰関数を使用することです。
以下はJavaScriptで書かれた再帰的階乗関数の例です。
関数階乗 (n){
返す(n === 0)? 1:n * 階乗 (n − 1)。
}
ご覧のように、関数factorialの定義の一部は、より小さい整数に対して実行されたfactorialの結果です。 それ自身を呼び出すことによって、それはそれ以下のそれぞれの正の数で数を乗算してから最終的な結果を返すことができます。 再帰関数は、フィボナッチ数や最大公約数の計算など、他の計算に役立ちます。
再帰的ロジックを使用すると、プログラミングで無限ループが発生するなど、いくつかの欠点があります。 このため、プログラミングにエスケープ条件(do untilなど)があることを確認すると、無限ループが発生する可能性を排除できないまでも減らすことができます。 無限ループが発生すると、プログラムがコンピュータ上の大量のメモリを使用し、プログラム、オペレーティングシステム、またはコンピュータの機能を停止させる可能性があります。
エスケープ、関数、ループ、プログラミング用語