ホームページ >よくある問題 >再帰的アルゴリズムには何を含める必要がありますか?

再帰的アルゴリズムには何を含める必要がありますか?

(*-*)浩
(*-*)浩オリジナル
2019-12-11 10:51:099993ブラウズ

再帰アルゴリズム(英: recursion Algorithm )とは、コンピュータサイエンスにおいて、問題を同様の部分問題に繰り返し分解することによって問題を解決する手法を指します。

再帰的アルゴリズムには何を含める必要がありますか?

再帰的手法は、コンピュータ サイエンスの多くの問題を解決するために使用できるため、コンピュータ サイエンスにおいて非常に重要な概念です。

ほとんどのプログラミング言語は関数の自己呼び出しをサポートしており、これらの言語では関数は自分自身を呼び出すことで再帰を実行できます。 (推奨学習: Web フロントエンド ビデオ チュートリアル )

コンピュータ理論は、再帰の役割がループを完全に置き換えることができることを証明できるため、多くの関数でループを実装するために再帰を使用するのが通例です。プログラミング言語 (Scheme など)。

再帰プログラム

自己呼び出しをサポートするプログラミング言語では、単純な関数呼び出しを通じて再帰を完了できます。たとえば、階乗を計算するプログラムは数学的に次のように定義できます。 :

再帰的アルゴリズムには何を含める必要がありますか?

このプログラムは Scheme 言語で書くことができます:

(define (factorial n)  (if (= n 0)      1      (* n (factorial (- n 1)))))<br/>

固定小数点コンビネータ

プログラムでも言語が自己呼び出しをサポートしていない場合、関数がファーストクラス オブジェクトである場合 (つまり、実行時に作成して変数として扱うことができる場合)、固定小数点コンビネータを通じて再帰を生成できます。

次の Scheme プログラムは自己呼び出しを使用せず、Z 演算子 (英語: Z combinator) と呼ばれる固定小数点コンビネータを使用するため、再帰の目的も達成できます。

rree

以上が再帰的アルゴリズムには何を含める必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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