1。定義
実行時間の上限またはアルゴリズム空間の使用を記述する数学表記。 または(f(n))として示されます。ここで、 f(n)は、入力サイズ n に応じて時間または空間を表す関数です。
2。目的
アルゴリズム比較- :異なるアルゴリズムを比較し、特定の問題に対して最も効率的なものを選択できます。
スケーラビリティ
:データの量が増加すると、アルゴリズムがどのように動作するかを予測するのに役立ちます。
-
3。複雑さ分析
悪い場合
:アルゴリズムがより長くかかるか、より多くのリソースを使用するシナリオを指します。大きいまたは一般的にこのケースを参照してください。
- より良いケースと平均的なケース:それらは重要ですが、それらは大きなOであまり頻繁に使用されます。
-
4。スペース対。時間
一時的な複雑さ
:アルゴリズムが実行されるまでの時間を指します。
空間的複雑さ- :使用する追加のメモリの量を指します。 または(1)(一定の空間)または[n)
などの表記を持つことができます。
-
例:
Import TimeIT
pltとしてmatplotlib.pyplotをインポートします
cprofileをインポートします
#O(1)
def curntion_time_operation():
返品42
#o(log n)
def logarithmic_time_operation(n):
count = 0
n> 1:
n // = 2
count = 1
返品数
#または(n)
def linear_time_operation(n):
合計= 0
範囲(n)のiの場合:
合計= i
総収益
#o(n log n)
def linear_logarithmic_time_operation(n):
n
読んでくれてありがとう!!
ApóyMe反応と意見