【アルゴリズム設計と分析】第1章序論
4604 ワード
第1章序論関連紹介 アルゴリズムの正確性 アルゴリズムの複雑性 時間複雑性 時間複雑度記号 1、上有界O 、下に界Ω\OmegaΩ があります.多項式複雑度 指数の複雑度 、同階θ\テータθ 演算規則 空間複雑性 紹介について
(アルゴリズム+データ構造)=プログラム
図霊——コンピュータ科学の父、人工知能の父の図霊賞——コンピュータ界のノーベル賞の図霊テスト
アルゴリズムの関連性:入出力、確定性、有限性
アルゴリズム:問題を解決する方法またはプロセス
アルゴリズムの正確性
一つのアルゴリズムが正しい場合、各入力が最終的に停止され、正しい出力が生成される.
プログラムのデバッグはプログラムの間違いを証明するだけで、プログラムに間違いがないことを証明することができません.
アルゴリズムの複雑性
時間の複雑さ
一つのアルゴリズムは抽象的なコンピュータ上で動作するために必要な時間(特定の入力に対して結果を生成するために必要な原子動作または「ステップ」数)T=T(N,I)T=T(N,I)T=T=T=T(N,I)
N:問題の規模I:入力
1、最悪の場合の時間複雑性2、最良の場合の時間複雑性3、平均的な場合の時間複雑性
時間複雑記号
f(N)とg(N)は、正の数セットに定義された正の関数であり、正常数C Cと自然数N 0 N_があれば、0 N 0
1、上有界O O
f(N)f(N)f(N)Nが十分大きいと、上に境界がある:N≧N 0 N\geq N_0 N≧N 0の場合、f(N)≦C g(N)f(N)\leq Cg(N)f(N)≦Cg(N)、g(N)g(N)g(N)g(N)f(N)f(N)の一つの上界があります.O 2)<
2、下界Ω\OmegaΩがあります.
f(N)f(N)f(N)Nが十分大きい場合、境界があります.N≧N 0 N\geq N_0 N≧N 0の場合、f(N)≧C g(N)f(N)\geq Cg(N)f(N)≧Cg(N)、g(N)g(N)g(N)g(N)g(N)g)g(N)f(N)f)f(N)N)f)f(N)N)N)N)f(N)N)f(N)N)f)f(N)f)f(N)の境界)f)f
高い効率の計算方法、ハードウエアを積み重ねます.
指数の複雑さ
非効率アルゴリズムは、ハードウェアのスタックは不要です.
3、同階θ\テータθ
f(N)f(N)f(N)f(N)は、g(N)g(N)g(N)g(N)と同次である場合、f(N)=O(g(N))f(N)=O(N)f(g(N)=O(g(N))、f(N)=Ω(g(N))f(N)f(N)=Omega(N)(f)
1つのアルゴリズムは、特定の入力に対して結果を生成するために必要な記憶空間サイズS=S(N,I)S=S(N,I)S=S(N,I)を格納する.
(アルゴリズム+データ構造)=プログラム
図霊——コンピュータ科学の父、人工知能の父の図霊賞——コンピュータ界のノーベル賞の図霊テスト
アルゴリズムの関連性:入出力、確定性、有限性
アルゴリズム:問題を解決する方法またはプロセス
アルゴリズムの正確性
一つのアルゴリズムが正しい場合、各入力が最終的に停止され、正しい出力が生成される.
プログラムのデバッグはプログラムの間違いを証明するだけで、プログラムに間違いがないことを証明することができません.
アルゴリズムの複雑性
時間の複雑さ
一つのアルゴリズムは抽象的なコンピュータ上で動作するために必要な時間(特定の入力に対して結果を生成するために必要な原子動作または「ステップ」数)T=T(N,I)T=T(N,I)T=T=T=T(N,I)
N:問題の規模I:入力
1、最悪の場合の時間複雑性2、最良の場合の時間複雑性3、平均的な場合の時間複雑性
時間複雑記号
f(N)とg(N)は、正の数セットに定義された正の関数であり、正常数C Cと自然数N 0 N_があれば、0 N 0
1、上有界O O
f(N)f(N)f(N)Nが十分大きいと、上に境界がある:N≧N 0 N\geq N_0 N≧N 0の場合、f(N)≦C g(N)f(N)\leq Cg(N)f(N)≦Cg(N)、g(N)g(N)g(N)g(N)f(N)f(N)の一つの上界があります.
f(N)=O(g(N))
O(1)2、下界Ω\OmegaΩがあります.
f(N)f(N)f(N)Nが十分大きい場合、境界があります.N≧N 0 N\geq N_0 N≧N 0の場合、f(N)≧C g(N)f(N)\geq Cg(N)f(N)≧Cg(N)、g(N)g(N)g(N)g(N)g(N)g)g(N)f(N)f)f(N)N)f)f(N)N)N)N)f(N)N)f(N)N)f)f(N)f)f(N)の境界)f)f
f(N)=Ω(g(N))
多項式複雑度高い効率の計算方法、ハードウエアを積み重ねます.
指数の複雑さ
非効率アルゴリズムは、ハードウェアのスタックは不要です.
3、同階θ\テータθ
f(N)f(N)f(N)f(N)は、g(N)g(N)g(N)g(N)と同次である場合、f(N)=O(g(N))f(N)=O(N)f(g(N)=O(g(N))、f(N)=Ω(g(N))f(N)f(N)=Omega(N)(f)
f(N)=θ(g(N))
演算規則O(f) + O(g) = O(max(f,g))
O(f) + O(g) = O(f + g)
O(f)O(g) = O(fg)
g(N) = O(f(N)), O(f) + O(g) = O(f)
O(Cf(N)) = O(f(N)), C
f = O(f)
スペース複雑性1つのアルゴリズムは、特定の入力に対して結果を生成するために必要な記憶空間サイズS=S(N,I)S=S(N,I)S=S(N,I)を格納する.