JAVA再帰的なデータ構造とアルゴリズム6

再帰:直接的または間接的に自分自身を呼び出します。例えば、連続した階乗計算の数、計算法則:! N =(N-1)* N!

各再帰的方法は、ベース値無線再帰を防ぐために(終了)条件、及び結果としてクラッシュを有しています。

それは概念的な問題を簡素化するため、再帰、再帰アルゴリズム構造読める、明確かつ簡単なアルゴリズムの正しさを証明するために数学的帰納を使用。しかし、それは非再帰的なアルゴリズムよりも多くを過ごすために、時間と空間をとります。

再帰と分割統治について:

基本的な考え方は、k個のnより小さなサブ問題、元の問題とこれらのサブ問題と互いに同じ独立に分解されたスケールの問題を分割し、征服することです。

再帰的にこれらのサブ問題の解決、元の問題の解を得るために、各サブ問題の後、デ・合併。

分割を使用し、統治アルゴリズムは、一般的に再帰アルゴリズムを設計することが考えられている、ように時間分割の複雑さおよび問題を克服も再帰方程式を分析するために使用することができます

 

再帰とのバックトラック:

アルゴリズムはまた考えであるバックトラックには、再帰的な実装を使用することができます。人気は、それが枯渇と同様の試験のようなもの、しかし、そこに戻って「剪定」機能であるバック話します。

 

おすすめ

転載: www.cnblogs.com/lsh0908/p/11770783.html