それ自体を呼ぶプログラムのプログラミング手法は、再帰と呼ばれます。再帰は、プログラミング言語のアルゴリズムとして広く使用されています。プロセスまたは関数には、その定義または説明において直接的または間接的に自分自身を呼び出す方法があります。通常、大規模で複雑な問題層をレイヤーごとに変換し、解決する元の問題と同様の小さな問題に変換します。再帰戦略では、問題解決プロセスに必要な複数の繰り返し計算を記述するための少数のプログラムのみが必要であり、プログラムのコードの量を大幅に削減します。再帰の能力は、有限ステートメントを使用して無限のオブジェクトセットを定義することにあります。一般的に言えば、再帰には境界条件、再帰的な前進セグメント、再帰返品セグメントが必要です。境界条件が満たされていない場合は、再帰的に進みます。境界条件が満たされたら、再帰的に戻します。 - これがバイドゥ百科事典が言ったことです。
実際、それを率直に言うと、それはそれ自体と呼ばれる再帰的方法自体によって実行される操作です。この例を説明するための例を挙げましょう。これは非常に有名なフィボナッチシーケンスです。
0、1、1、2、3、5、8、13、21、34、55、89、144、233、377、610、987、1597、2584、4181、6765、10946、17711、28657、46368……
最初の2つの数値を追加することにより、3番目の数値が取得されることがわかります。
これは、通常のループを使用する場合の意味です。
public class feibo {public static void main(string [] args){int num1 = 0; int num2 = 1; int numn = 1; int n = 10; for(int i = 3; i <= n; i ++){numn = num1+num2; num1 = num2; num2 = numn; } system.err.println(n+"result is:"+numn); }}操作結果は次のとおりです。
10の数字の結果は次のとおりです。34
これは、通常のループ方法を操作に使用することです。再帰を使用する場合、次のようなものです。
public static int Recusion(int n){if(n == 1){return 0; } if(n == 2){return 1; }再帰(n-1)+再帰(n-2); }再帰には終了条件が必要であり、場合には再帰が呼び出しを続ける必要はありません。再帰を終了します。上記のケースの最終条件は、n = 1または2の場合、再帰方法自体を呼び出すのではなく、0または1を返すことです。
再帰の2つの主な条件は、自分自身を呼び出して再帰を終わらせることです。
再帰は自分で呼ばれるため、多くのリソースを無駄にし、実行時間はループよりもはるかに長く、実行時間が遅く、効率が低くなります。
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。