ホームページ  >  記事  >  バックエンド開発  >  Pythonのアルゴリズム

Pythonのアルゴリズム

silencement
silencementオリジナル
2019-06-05 15:52:323332ブラウズ

Pythonのアルゴリズム

アルゴリズムの定義

アルゴリズムとは、問題解決ソリューションの正確かつ完全な記述を指し、解決のための一連の明確な指示です。問題 、アルゴリズムは、問題を解決するための戦略的メカニズムを記述する体系的なアプローチを表します。つまり、一定の標準化されたインプットに対して、限られた時間内で必要なアウトプットを得ることが可能です。アルゴリズムに欠陥があるか、問題に対して不適切な場合、そのアルゴリズムを実行しても問題は解決されません。アルゴリズムが異なると、同じタスクを完了するために使用する時間、空間、効率が異なる場合があります。アルゴリズムの品質は、空間の複雑さと時間の複雑さによって測定できます。

アルゴリズムには次の 7 つの重要な特性が必要です。

①有限性: アルゴリズムの有限性とは、アルゴリズムが限られた数のステップを実行した後に終了できなければならないことを意味します。

②定義性: アルゴリズムの各ステップには正確な定義が必要です;

③入力: アルゴリズムにはオペランドを記述するための 0 個以上の入力があります初期状況、いわゆる 0 入力は、設定された初期条件を指しますアルゴリズム自体による;

④出力: アルゴリズムには、入力データの処理結果を反映する 1 つ以上の出力があります。出力のないアルゴリズムは意味がありません;

⑤有効性: アルゴリズムで実行されるすべての計算ステップは、基本的な実行可能な操作ステップ、つまり各計算ステップに分解できますすべてが限られた時間内で完了できます (有効性とも呼ばれます) ;

⑥高効率: 高速実行とリソース使用量の削減;

⑦堅牢性: データに対する正しい応答。

時間計算量

コンピュータ サイエンスでは、アルゴリズムの時間計算量は、アルゴリズムの実行時間を定量的に記述する関数です。ビッグ O 記法 (Big O 記法) は、関数の漸近的な動作を記述するために使用される数学的記法です。より正確には、別の (通常はより単純な) 関数を使用して、関数の大きさのオーダーの漸近上限を記述する関数です。関数。境界。数学では、これは一般に、切り捨てられた無限級数、特に漸近級数の残りの項を記述するために使用されます。コンピューター サイエンスでは、アルゴリズムの複雑さを分析するのに非常に役立ちます。) 式、この方法で使用します。複雑さは漸近的であると言えます。これは、入力値のサイズが無限大に近づく状況を考慮したものです。

ビッグオー、要するに「~の順番」という意味だと考えられます(およそ)。

無限漸近的
ビッグ O 記法は、アルゴリズムの効率を分析するときに非常に役立ちます。たとえば、サイズ n の問題を解くのにかかる時間 (または必要なステップ数) は、T(n) = 4n^2 - 2n 2 で求められます。
n が増加すると、n^2; 項が優勢になり始め、他の項は無視できます - たとえば、n = 500 の場合、4n^2; 項は 2n 項より 1000 倍大きくなります。 , ほとんどの場合、後者を省略しても式の値に与える影響は無視できます。

以上がPythonのアルゴリズムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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