導入された複雑さの時間効率的なアルゴリズム

  前のブログでは、私はあなたにすべての幸せな中秋節を願って、ここで、いくつかの算術の問題、ちょうど中秋節の明日を導入することでした。ただ、数学的モデリングのための時間に、今日は、アルゴリズム、それの複雑さのレベルの重要な指標を測定するための最初の時間を導入しました。たくさんの時間は+ 2 5を更新する場合には。プレゼンテーションの後、時間の複雑さと空間の複雑さのpython組み込み関数になります。

 

1.はじめに

時間の複雑さが何であるかを見てください:

  2つの非常に重要な指標を含め、コードの品質を測定します。

  時間実行してスペースを

  絶対時間コードの実行が推定することはできませんが、それは基本的なコード実行の数を推定することができます。

実装の2プログラム4つの最も一般的な方法

(1)T(N)= KN、線形実行時間。

  完了されるタスクであるたびに1 / Nのタスクは、KN時間を必要とされるすべてのタスクを完了するための時間のためにN、Kに達することが理解されるであろう。

(2)Tは、(N)にklog(A)〜(N)は= 、実行回数が対数です。

  完了されるタスクである1 /、サイクルで、すべてのタスクのために必要な時間はkloaとして完成された残りを完了するたびに1 /、次のタスクのタスクをN、Kに達することが理解されるであろう(a)は、N時間。

(3)T(N)= Kは、実行回数の定数です。

  全てがn到達したい完了するためのタスク、すべてのタスクを完了するために、k個の時間が必要とされるn個のタスク、これは絶対的な実行時間のコードを取得することができますが完了するまでの時間k番目として理解することができ、必要なすべてのタスクを完了時間は、k個の時間です。

(4)T(N)= ^ 2 + 0.5N 0.5Nは、実行回数が多項式です。

  Nに到達完了すべきタスクがあることが理解されるであろう、第2のための第二の時間を完了するための時間に1を完了するために、連続的に、簡略ここで終了するすべてのタスクのために必要な時間が追加されますそれは0.5N ^ 2 + 0.5Nの時間です。

(5)時間計算

しかしながら、異なるアルゴリズムに上記の状況を比較することはできません、そして時には、nの値に基づいて、比較の結果が異なっています。この時間は、時間の複雑さの漸進的な概念が存在します。

ような関数f(n)は、存在する場合、nが無限大に近づくとするとき、Tは、(N)/ F(n)が一定のゼロ限界に等しくない F(n)と呼ばれ、T(n)が同程度の関数であるが。

で表さ T(N)= O(F(N))、前記O(F(N))アルゴリズムの進行時間複雑である、と呼ばれる時間複雑もランダウの記号と呼ばれます

規則(6)時間計算

  実行している時は、定数1に代表される、一定の大きさであれば、

  時間のみの関数残し最高次の項を

  最高次の項は、存在する場合は省略最高次の係数の前に

  実行時間は省略し、係数kの前に、一定ではない場合。

  より一般的に共通の時間複雑性はある:O <O(logN個)<O(N)<O(^ N-2)(1)。

 

おすすめ

転載: www.cnblogs.com/ITXiaoAng/p/11515699.html