1.1.2基本的なアルゴリズムの設計法
実施形態におけるコンピュータの問題解決法は、実際にはコンピュータ・アルゴリズムと呼ばれる特定のアルゴリズムです。
一般的なアルゴリズム設計法:
(1)の方法が挙げられます
列挙法の基本的な考え方が提起された問題に基づいており、すべての可能を列挙し、与えられた条件での問題に、必要とされていない必要なものは、何を確認してください。
機能の列挙方法は、比較的単純なアルゴリズムです。より多くの可能な場合は、引用する場合でも、引用ワークロードの実行アルゴリズムは、計り知れないだろう。
列挙法の設計アルゴリズムを使用する場合、プログラムが運用負荷を最小限に抑えるために最適化され、それは注目の的である必要があります。
ルールを見つける、包括的、体系的、原則的知識に関連する詳細な実際の問題の分析、および問題限り、列挙アルゴリズムを設計する際に、または
すべての可能なケースを分類し、いくつかの有用な情報へのリード、大幅に例示した量を減少させることができます。
列挙アルゴリズムは、アルゴリズムベースのコンピュータアルゴリズムです。
(2)誘導
誘導の基本的な考え方は、最終的に分析した後、例外的なケースの小さな数をリストし、で一般的な関係を見つけることです。
いくつかの単純だが特殊な状況を観察することによって要約され、我々は一般的な結論を締結しました。
(3)再発
既知の初期条件から始まるいわゆる再帰手段は、中間結果と最終結果各連続の導入が望ましいです。
初期条件や問題自体が与えられ、または、問題の分析と簡素化により決定された場合。
漸化式は、多くの場合、その結果をまとめています。
(4)再帰
人々は(このような問題の規模など)の複雑さを軽減するために、問題を複雑な問題を解決すると、一般的な問題は、常に層ごとに分解し、最終的に最も簡単なのいくつかに帰着
質問。この後ステップ分解プロセスによって、問題のステップは、実際に問題を解決しますが、最終的には最も簡単な質問を解決した場合にのみ、その後、元を分解しません
再帰の基本的な考え方である緩やかな統合、逆のプロセス。再帰はまた、誘導のための基礎です。
再帰呼び出しプロセスと呼ばれる自分自身を呼び出します。
再帰的に直接的および間接的な再帰再帰二種類に分け。明示的に自分自身と呼ばれるアルゴリズムPは、直接再帰を呼び出した場合。
アルゴリズムPは別のアルゴリズムQ、Qを呼び出し、アルゴリズムとアルゴリズムPを呼び出す場合は、間接的な再帰呼び出しと呼ばれます。
再帰アルゴリズムよりも再帰的アルゴリズム設計はるかに簡単。しかし、再帰アルゴリズムの効率は比較的低いです。
(5)半再帰的手法
問題の実際のサイズの複雑さは、多くの場合、密接に問題にリンクされています。したがって、このような現実的な問題を解決するための分割統治の使用が有効です。分割統治いわゆる、および問題に関するルールが分かれています。一般的に使用される分割統治は再発工学技術を半分になります。
いわゆる「再帰的」プロセスの「半分」を繰り返すように言い、いわゆる「半分は」問題の大きさ、そして変わらず、問題の本質を半減させることをいいます。
(6)バックトラック
問題の分析により、問題、その後徐々に他のために、暫定的な成功ならば、問題の解決策は、暫定的に失敗した場合、それは徐々にロールバックしていますので、テストのすべてのステップのために、この道に沿って誘惑を解決するための手がかりを見つけるためにその後、ルートをテストします。このメソッドは、バックトラックと呼ばれています。バックトラックは広く複雑なデータ構造を扱う中で使用されてきました。