時間複雑に:説明するための第1の位相アルゴリズム

I.定義と時間の複雑さの重要性

カイフーリー「アルゴリズムの力、」1つの論文は書きました:

\(1988 \)年、私の学校を訪問する人にあるベル研究所の副社長、目的は、彼らが私の開発よりも遅く、音声認識システムの数倍である理由を見つけることですが、また、大語彙システムへの速度差の拡大で、より後それらにコースを論じる限り数百回は......、Iを見つけるために驚いたこと\(O(NM)\)動的プログラミングのは、彼らが実際にAからなることである\(O({N} ^ { } M 2)\) ......

上記\(O(NM)\)\(O({N} ^ {2} m)は\) 時間複雑です。シンボル\(O \)複雑内部表す\(Mnが\)ランの数であると考えることができる\(N-M * \)
時間複雑有意嘘のエネルギー効率は、時間の合理的な金額を持っています
前の例では、システムはカイフーリーの時間実行されている場合は、\(10 \)秒、N- = \(\ 1000)ベルへ、その後、プログラムのニーズ\(10000 \)秒。これは驚異的数字です。

誰かが私に尋ねた:それはスーパーコンピュータ(スパコン)がなかったことは、人の神性太ライトが毎秒実行することができます\(^ {10} {17} \)倍も!
私は答えた:他の強力なスーパーコンピュータは、大規模なデータああを運ぶことができませんでした!

おそらく第2の共通のコンピュータ\(^ {10} {7} \)回、前者は\(^ {10}、{10} \)倍。
しかしながら、そのような検索、セグメントツリーの時間複雑である\(O(\ N-ログ{})\) シーケンシャルサーチである\(O(N)\)
セット\(N- \)データのサイズであり、
学校の人口調査のために、\(N-3000 = \) 前者\(4 \)倍、後者\(3000 \)図、
都市人口調査、\(N-2 = * {10} {7} ^ \) 前者\(8 \)回、後者の\(* 2 ^ {10} {7} \)回、
全国国勢調査、\(N-10} = {1.3 * 9 ^ {} \) 前者(\ 10 \)倍、後者\(1.3×10 {9} ^ {} \)倍。

世界トップクラスに、アルゴリズムに注意を払っていない場合は、スーパーコンピューティング時間は、通常のコンピュータよりも遅くなることがあり......

可視アルゴリズムの選択は重要です

II。時間の複雑さを体験してください

あなたは、コードを書くことで見てみることができます。

入出力配列として、時間計算量が\(O(2N)\)

#include<bits/stdc++.h>
using namespace std;
int main()
{
    return 0;
}
{
    
}

おすすめ

転載: www.cnblogs.com/SuperTer/p/algorithm-1.html