ホームページ >よくある問題 >関数の再帰呼び出しとはどういう意味ですか?

関数の再帰呼び出しとはどういう意味ですか?

angryTom
angryTomオリジナル
2019-07-24 14:38:2115969ブラウズ

関数の再帰呼び出しとはどういう意味ですか?

推奨チュートリアル: Java チュートリアル

再帰的定義

再帰呼び出しとは、現在の関数の中で現在の関数を呼び出し、対応するパラメーターに渡すことです。これはアクションです。このアクションは、一般的な状況が満たされるまでレイヤーごとに実行されます。時間が経過したら、再帰呼び出しを停止し、最後の再帰呼び出しから戻り始めます。

再帰の詳細な説明

呼び出しの前に

ある関数が実行中に別の関数を呼び出すときrunning の場合、呼び出される関数を実行する前に、システムは次の 3 つのことを完了する必要があります:

(1) すべての実パラメータ、戻りアドレス、その他の情報を格納するために呼び出される関数に渡します;

(2) ) 呼び出された関数のローカル変数の格納領域を確保;

(3) 呼び出された関数の入口に制御を移します。

呼び出し

呼び出された関数から呼び出し関数に戻る前に、システムは 3 つのタスクも完了する必要があります。

(1) 呼び出された関数を保存するfunction 関数の計算結果;

(2) 呼び出された関数のデータ領域を解放;

(3) で保存されたリターンアドレスに従って呼び出し関数に制御を移します。呼び出された関数。ネストされた呼び出しを形成する複数の関数がある場合は、最後の呼び出しの後に最初に戻るという原則に従います。

再帰関数の機能

すべての再帰関数の構造は似ています。

(1) 関数はそれ自体を直接または間接的に呼び出す必要があります。

(2) 再帰的な終了条件のチェックが必要です。つまり、再帰的な終了条件が満たされた後は、独自の関数は呼び出されなくなります。

(3) 再帰終了条件が満たされない場合は、再帰呼び出しを伴う式が呼び出されます。関数自体を呼び出す際には、終了条件に関係するパラメータを変更する必要があり、再帰終了の方向に変更する必要があります。

概要

関数呼び出しの原則は、データ構造スタックの実装と一致しています。また、関数呼び出しがスタックを通じて実装されていることも示しています。

以上が関数の再帰呼び出しとはどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。