O Kalkül
Diese Notation kann verwendet werden um Laufzeitanalyse eines Programms oder Algorithmus zu beschreiben.
f∈O(g)cf∈O(g)f+c∈O(g)f+h∈O(max(f,h))t⋅h∈O( fh )
f ist in O(g) wenn ein M existiert sodass ab einem n0 gilt
∣f(n)∣≤g(n).
- Eine Folge an ist genau dann beschränkt, wenn an∈O(1).
- Eine Folge bn∈O(n1) ist eine Nullfolge.
Es seien
f1(n)=g1(n)+O(h1(n)),
f2(n)=g2(n)+O(h2(n)).
Dann gilt
f1(n)f2(n)=g1(n)g2(n)+O(h1(n)h2(n)).
Polynomial → O((ln(n))λ)
Exponentiell → O(nλ)
- P → polynomial time
- NP → z.B.: 2n
- PSPACE
- EXPTIME → 2f(n)
Genauer
O(g):={f∈M:∃C>0,∃n0>0:∣f(n)∣≤C∣g(n)∣ fu¨r alle n≥n0},Ω(g):={f∈M:∃c>0,∃n0>0:∣f(n)∣≥c∣g(n)∣ fu¨r alle n≥n0},Θ(g):=O(g)∩Ω(g).