Recursive Functions

1197 ワード

Recursive Functions


Recursive Functionsとは?

  • 再帰関数.元の位置に戻って、すべてが戻ってきます.
    独自の関数.
  • 特定の四半期にコールを継続し、主に重複文を実装するために使用されます.
    私たちがよく知っている重複文にはfor、whileなどがあります.
    これらの繰り返し可能な文で実現される論理は、再帰関数として使用することができ、逆も同様である.
    再帰関数の最も代表的な使用例はfactorialである.
    int factorial (int n) {
    	if(n === 1) {
        	return 1;
       }
       
       return n * factorial(n - 1);
    
    }

    stack overflow


    再帰関数を使用する場合は、スタックオーバーフローに注意してください.
    int factorial (int n) {
     return n * factorial(n - 1)
     
    }
    ここで、n==1の場合、戻り値は与えられず、-1、-2、-3...-無限に行方不明になるn.実際、コンピュータのメモリは限られており、無限に大きくなることはできません.スタックオーバーフローの問題が発生します.

    再帰関数の長所と短所


    長所

  • 変数を複数作成する必要はありません.
  • は、文やfor文などの繰り返し文を使用する必要がないため、コードが簡潔になります.

    短所


  • 関数を呼び出し続ける場合は、領域変数、パラメータ、および戻り値をプロセススタックに格納する必要があります.宣言変数値のみを使用する重複文に比べて、このプロシージャはより多くのメモリを消費し、速度が低下します.

  • 関数の呼び出し->返されるコンテキストの切り替えによってコストが発生します.
  • ソース