Python アルゴリズムの時間計算量

Python アルゴリズムの時間計算量

アルゴリズムを実装する場合、アルゴリズムの複雑さは通常、時間の複雑さと空間の複雑さという 2 つの側面から考慮されます。名前が示すように、時間計算量はアルゴリズムの計算負荷を測定するために使用され、空間計算量はアルゴリズムによって占有されるメモリ空間を測定するために使用されます。

[[282694]]

この記事では、時間計算量の概念から始めて、実際のコード例を使用してアルゴリズムの時間計算量を分析します。

漸近的時間計算量

時間計算量とは、アルゴリズム操作に要する時間のことです。入力データのサイズによってアルゴリズムの所要時間が異なるため、アルゴリズムの実行時間を評価するのは困難です。そのため、通常は時間頻度、つまりアルゴリズムが計算操作を実行する回数に注目します。これは T(n) と表され、n は問題のサイズと呼ばれます。

同様に、n は変数であるため、n が変化すると、時間周波数 T(n) も変化します。時間計算量の限界ケースをアルゴリズムの漸近的時間計算量と呼び、O(n) と表記されます。これには関数の低次係数と主要係数は含まれません。

次の例で説明してみましょう。

上記の例と同様に、コードの平均実行時間の仮定に基づいて、run_time(n) 関数の時間計算量を次のように計算します。

上記の時間計算量計算式 T(n) は、関数 run_time(n) の時間計算量の推定値です。 n の値が非常に大きい場合、T(n) 関数の定数項 time0 と n の係数 (time1+time2+time3+time4) が n に与える影響は無視できるため、ここでの関数 run_time(n) の時間計算量は O(n) として表すことができます。

極端な状態(たとえば、n が非常に大きい)で時間計算量を計算するため、次の 2 つの特性があります。

  • 低次の項の影響は高次の項に比べて非常に小さいため、無視できます。
  • 最高項係数が最高項に与える影響も非常に小さいため、無視できます。

上記の 2 つの特性に応じて、時間の計算量は次のように計算されます。

1. 最高次の項のみを取り、低次の項を破棄します。

2. 最高項の係数を削除します。

3. 定数順序の場合、時間計算量はO(1)とする。

次の例を通して、一般的な時間計算量を理解しましょう。

時間計算量: 定数次数 O(1)

時間計算量: 線形順序 O(n)

時間計算量: 線形順序 O(n)

時間計算量: 平方次数 O(n^2)

時間計算量: 平方次数 O(n^2)

時間計算量: 平方次数 O(n^2)

時間計算量: 3次O(n^3)

時間計算量: 対数オーダー O(logn)

問題のサイズ n が大きくなるにつれて、上記の時間計算量が増加し、アルゴリズムの実行効率が低下します。時間計算量は次のようにランク付けされます。

練習する

次の count_sort 関数はカウントソートを実装します。リスト内の数字の範囲は 0 から 100 までで、リストの長さは約 100 万です。

上記の count_sort 関数の空間計算量は O(n) であり、式は次のようになります。

<<:  自然災害はサイバーセキュリティに影響を与える:異常気象や停電に対抗するにはAIが必要

>>:  AI に役立つ 7 つの優れたオープンソース ツール

ブログ    
ブログ    
ブログ    

推薦する

強力なハードウェアがあれば、アルゴリズムはもはや重要ではないのでしょうか?

この記事は、プログラマーの質問と回答のコミュニティである stackexchange.com の質問...

人工知能のおかげで、赤信号待ちは過去のものになるだろう

私たちは市内を運転中に、このようなことが何度も起こるのを見てきました。人々は前方の交通状況を気にせず...

...

GitHub スター 6000 以上! Pythonで機械学習のバイブルPRMLを実践

ビショップの PRML は機械学習のバイブルと言っても過言ではありません。この本では、パターン認識と...

マスク氏はオープンAIの主任科学者に質問した。「いったい何を見てそんなに怖くなったのですか?」

2015年11月27日、イーロン・マスクはイリヤ・スツケヴァー氏がOpenAIの主任科学者として参...

ポスト絵読み時代、人工知能は絵の社会的ジレンマを解決できるのか?

ここ数年、国内の写真アプリが次々と登場しており、先頭にはDuitang、Huaban、Digu、Yo...

指紋と顔は本当に生体認証を表現できるのでしょうか?

今年初めから現在まで、ToFセンサーはApple、Samsung、GD、AMSなどのセンサー企業やス...

...

研究のアイデアがうまくいかない場合、それはアイデアが悪いからではなく、ハードウェアが追いついていないからかもしれません。

研究アイデアの成功は、そのアイデアが他の研究方向よりも優れているかどうかではなく、適切なハードウェア...

...

大学入試結果が続々発表。ボランティア応募で人工知能が注目の選択肢に

今日から、全国各地の大学入試結果が続々と発表され、出願手続きが始まります。今年、各大学は、専門分野、...

...

AIは人間ではないため、米国特許庁はAIの発明の全てを認めない

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

IT の現状レポート: IT リーダーの 90% が、生成型 AI がまもなく主流になると考えています

7月25日、海外メディアの報道によると、セールスフォース・ドットコムが発表したIT現状報告によると、...