Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonの再帰とバックトラックとは何ですか?


再帰

再帰は、問題を分割して解決するのに役立ちます。各再帰呼び出し自体は、他の再帰呼び出しからスピンオフします。再帰関数の中心には、2つのタイプのケースがあります。再帰をいつ終了するかを指示する基本ケースと、その関数を呼び出す再帰ケースです。再帰ソリューションを自然に使用する単純な問題は、階乗の計算です。再帰的階乗アルゴリズムには2つのケースがあります。n=0の場合の基本ケースと、n>0の場合の再帰的ケースです。

バックトラック

バックトラッキングは、計算問題の解決策を見つけるための一般的なアルゴリズムであり、解決策の選択肢を段階的に構築し、不可能な解決策につながる可能性のあるトラックの継続的な処理を拒否します。バックトラックを使用すると、以前の選択が間違いであることが判明した場合に元に戻すことができます。

階乗の典型的な実装は次のとおりです-

def factorial(n):
  #test for a base case
     if n==0:
       return 1
         # make a calculation and a recursive call
         f= n*factorial(n-1)
     print(f)
  return(f)
factorial(4)

このコードは、数字1、2、4、24を出力します。階乗4を計算するには、4つの再帰呼び出しと最初の親呼び出しが必要です。


  1. PythonのCGIとは何ですか?

    Common Gateway Interface(CGI)は、外部ゲートウェイプログラムがHTTPサーバーなどの情報サーバーとインターフェイスするための標準です。 現在のバージョンはCGI/1.1であり、CGI/1.2は進行中です。 ウェブブラウジング CGIの概念を理解するために、ハイパーリンクをクリックして特定のWebページまたはURLを参照するとどうなるかを見てみましょう。 ブラウザがHTTPWebサーバーに接続し、URL、つまりファイル名を要求します。 WebサーバーはURLを解析し、ファイル名を探します。そのファイルが見つかった場合はブラウザに送り返します。それ以外の場合は、

  2. Pythonで再帰関数を作成するにはどうすればよいですか?

    再帰はプログラミングメソッドであり、関数はその本体でそれ自体を1回以上呼び出します。通常、この関数呼び出しの戻り値を返します。関数定義が再帰に従う場合、この関数を再帰関数と呼びます。 プログラムで使用するには、再帰関数を終了する必要があります。すべての再帰呼び出しで問題の解決策が小さくなり、さらに再帰することなく問題を解決できるベースケースに向かって移動すると、終了します。呼び出しで基本ケースが満たされない場合、再帰によって無限ループが発生する可能性があります。 例 次のコードは、再帰的なPython関数を使用して最初のn個の自然数の合計を返します。 def sum_n(n):