「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > 再帰

再帰

2024 年 9 月 2 日に公開
ブラウズ:456

Recursão

再帰定義:

  • 再帰はそれ自体を呼び出すメソッドです。
  • メソッド自体への呼び出しが含まれる場合、メソッドは再帰的になります。

従来の例:
階乗計算は再帰の典型的な例です。
数値の階乗? 1 から N までのすべての整数の積です

コード例:

  • 提供されたコードは、階乗を計算するための再帰的手法 (factR) と反復的手法 (factI) を示しています。
  • どちらのメソッドも同じ結果を返しますが、アプローチが異なります。

再帰的メソッドの仕組み:

  • 再帰メソッド (factR) は、
  • の値になるまで自身を呼び出します。
  • ? n は 1 になります。
  • 再帰呼び出しごとにメソッドは「スタック」し、基本条件に達した場合にのみ戻りを開始します。

コールスタック:

  • 各再帰呼び出しは、新しいパラメータと変数用に実行スタック上にスペースを割り当てます。
  • 再帰呼び出しによりスタック オーバーランが発生し、例外が発生する可能性があります。

反復との比較:

  • クイック ソートなどの特定のアルゴリズムでは、再帰的メソッドの方が明確で簡単な場合があります。
  • ただし、再帰バージョンはメソッド呼び出しのオーバーヘッドにより遅くなる可能性があります。

再帰使用時の注意:

  • メソッドが無限ループに入ることを防ぐために、終了条件を設定することが重要です。
  • println() などのデバッグ ステートメントは、再帰的実行のフローを理解するのに役立ちます。

階乗を計算する再帰コード
RECURSION.JAVA

を参照してください。
リリースステートメント この記事は次の場所に転載されています: https://dev.to/devsjavagirls/recursao-17o5?1 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3