Python-data-structure-python-algorithm-design

提供:Dev Guides
移動先:案内検索

Python-アルゴリズム設計

アルゴリズムは、目的の出力を取得するために特定の順序で実行される一連の命令を定義するステップバイステップの手順です。 アルゴリズムは通常、基礎となる言語とは無関係に作成されます。 アルゴリズムは複数のプログラミング言語で実装できます。

ビューのデータ構造の観点から、以下はアルゴリズムのいくつかの重要なカテゴリです-

  • 検索-データ構造内のアイテムを検索するアルゴリズム。
  • ソート-特定の順序でアイテムをソートするアルゴリズム。
  • 挿入-データ構造にアイテムを挿入するアルゴリズム。
  • 更新-データ構造内の既存のアイテムを更新するアルゴリズム。
  • 削除-データ構造から既存のアイテムを削除するアルゴリズム。

アルゴリズムの特性

すべての手順がアルゴリズムと呼ばれるわけではありません。 アルゴリズムは、次の特性を持つ必要があります-

  • 明確-アルゴリズムは明確で明確でなければなりません。 各ステップ(またはフェーズ)、およびそれらの入力/出力は明確である必要があり、1つの意味のみにつながる必要があります。
  • 入力-アルゴリズムには0以上の明確に定義された入力が必要です。
  • 出力-アルゴリズムには、1つ以上の明確に定義された出力があり、目的の出力と一致する必要があります。
  • 有限-アルゴリズムは有限数のステップの後に終了する必要があります。
  • 実現可能性-利用可能なリソースで実現可能でなければなりません。
  • 独立-アルゴリズムには、プログラミングコードに依存しない段階的な指示が必要です。

アルゴリズムの書き方

アルゴリズムを記述するための明確な標準はありません。 むしろ、問題とリソースに依存しています。 特定のプログラミングコードをサポートするためにアルゴリズムが記述されることはありません。

すべてのプログラミング言語は、ループ(do、for、while)、フロー制御(if-else)などの基本的なコード構造を共有していることがわかっています。 これらの一般的な構成体は、アルゴリズムを記述するために使用できます。

アルゴリズムを段階的に記述しますが、常にそうとは限りません。 アルゴリズムの記述はプロセスであり、問​​題ドメインが明確に定義された後に実行されます。 つまり、ソリューションを設計している問題領域を知る必要があります。

例を使用して、アルゴリズムの記述を学習してみましょう。

問題-2つの数値を追加して結果を表示するアルゴリズムを設計します。

step 1 − START
step 2 − declare three integers a, b & c
step 3 − define values of a & b
step 4 − add values of a & b
step 5 − store output of step 4 to c
step 6 − print c
step 7 − STOP

アルゴリズムは、プログラムのコーディング方法をプログラマに伝えます。 あるいは、アルゴリズムは次のように書くことができます-

step 1 − START ADD
step 2 − get values of a & b
step 3 − c ← a + b
step 4 − display c
step 5 − STOP

アルゴリズムの設計と分析では、通常、アルゴリズムを記述するために2番目の方法が使用されます。 アナリストは、不要な定義をすべて無視して、アルゴリズムを簡単に分析できます。 彼は、どの操作が使用されているか、プロセスがどのように流れているかを観察できます。

  • ステップ番号*の記述はオプションです。

特定の問題の解決策を得るためのアルゴリズムを設計します。 問題は複数の方法で解決できます。

1つの問題、多くの解決策

したがって、特定の問題に対して多くの解決アルゴリズムを導き出すことができます。 次のステップでは、提案されたソリューションアルゴリズムを分析し、最適なソリューションを実装します。