Python-アルゴリズム設計

アルゴリズムは段階的な手順であり、目的の出力を取得するために特定の順序で実行される一連の命令を定義します。アルゴリズムは通常、基礎となる言語から独立して作成されます。つまり、アルゴリズムは複数のプログラミング言語で実装できます。

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

  • Search −データ構造内のアイテムを検索するアルゴリズム。

  • Sort −アイテムを特定の順序で並べ替えるアルゴリズム。

  • Insert −データ構造にアイテムを挿入するアルゴリズム。

  • Update −データ構造内の既存のアイテムを更新するアルゴリズム。

  • Delete −データ構造から既存のアイテムを削除するアルゴリズム。

アルゴリズムの特徴

すべてのプロシージャをアルゴリズムと呼ぶことができるわけではありません。アルゴリズムには次の特性が必要です-

  • Unambiguous−アルゴリズムは明確で明確でなければなりません。その各ステップ(またはフェーズ)、およびそれらの入力/出力は明確である必要があり、1つの意味のみにつながる必要があります。

  • Input −アルゴリズムには、0個以上の明確に定義された入力が必要です。

  • Output −アルゴリズムには、明確に定義された1つ以上の出力があり、目的の出力と一致している必要があります。

  • Finiteness −アルゴリズムは、有限のステップ数の後に終了する必要があります。

  • Feasibility −利用可能なリソースで実行可能である必要があります。

  • Independent −アルゴリズムには段階的な指示が必要であり、プログラミングコードから独立している必要があります。

アルゴリズムの書き方は?

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

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

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

例を使ってアルゴリズムの書き方を学んでみましょう。

Problem − 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番目の方法を使用してアルゴリズムを記述します。これにより、アナリストは不要な定義をすべて無視してアルゴリズムを簡単に分析できます。彼は、使用されている操作とプロセスの流れを観察できます。

書き込み step numbers、はオプションです。

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

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