再帰的な呼びかけとは何ですか?
プログラミングでは、再帰コールは、同じサブルーチンを再び実行するようにプログラムに指示するサブルーチンまたは関数内のコマンドです。繰り返しのパフォーマンスは、関数の直接的な結果である場合があります。または、2番目の関数がトリガーされる場合があります。再帰コールには、恐ろしい無限ループといくつかの類似点がありますが、サブルーチンには常に、再帰の繰り返しを繰り返すことをプログラムに伝える条件付きステートメントがあります。
再帰の概念は、おそらく例を使用して最もよく示されています。屋根erが家に新しい帯状疱疹を適用しているとします。まず、彼は屋根に帯状疱疹の束を運ばなければなりません。彼が最初のバンドルを所定の位置に釘付けしたら、彼ははしごを降りて、別の束を取り出して所定の位置に釘付けしなければなりません。このプロセスは、最後の鉄片が適用されるまで、一連の「go、fetch、return」として継続されます。その時点で、屋根erは自由に次の仕事に移動したり、家に帰ったりすることができます。
例i単純化しすぎると、再帰呼び出しのすべての要素が含まれています。出発点があります。屋根職人は自分が必要なものを回収し、最初に戻り、最終的な条件が満たされたら停止する必要があります。これは基本的にプログラムが行うことです。開始し、アクションを実装し、それ自体に戻り、終了条件が発生したときに終了します。
終了条件は、基本ケースと呼ばれます。すべての再帰呼び出しに不可欠です。それがなければ、機能は引き続き繰り返されます。せいぜい、これによりシステムのメモリリソースが消耗します。通常、過負荷はある時点でプログラムをクラッシュさせますが、問題が発見されるまでに、大きな損害が発見される場合があります。
経験豊富なプログラマーは、再帰コールと「for」または「while」ループの類似性を認識する場合があります。たとえば、目標がパートnのすべての在庫の総在庫数を見つけることである場合999を超えるUmbers、「for」ループはプログラムにすべての適格なインスタンスを見つけるように指示し、「 "while"ループは、記載されている条件が有効である間にループのみを実行するようにプログラムに指示します。再帰的な呼び出しは、これらのループのいくつかの機能を「if-then-else」ステートメントと組み合わせたと言われるかもしれません。この条件が真の場合は、これを行うか、条件が間違っている場合は何か違うことをします。ただし、再帰は通常、よりコンパクトなコードを可能にし、問題を必要なポイントに近い関数に渡すことができます。