Kurs:Algorithmen und Datenstrukturen/Vorlesung/Notation Eigenschaften

Aus testwiki
Version vom 2. Februar 2019, 13:06 Uhr von imported>Texvc2LaTeXBot (Texvc Makros durch LaTeX Pendant ersetzt gemäß mw:Extension:Math/Roadmap)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Vorlage:Navigationsleiste/Algorithmen und Datenstrukturen

Lemma

Für beliebige Funktionen f,g gilt:
O(f(n)+g(n))=O(max(f(n),g(n))

Beweis in beide Richtungen

t(n)O(f(n)+g(n))t(n)O(max(f(n),g(n)))

t(n)O(f(n)+g(n))t(n)O(max(f(n),g(n)))

Als erstes machen wir den Beweis nach rechts ()

c,n0:t(n)c(f(n)+g(n)) n>no

t(n)2cmax(f(n),g(n)) n>n0

t(n)O(max(f(n)),g(n)))

nun der Beweis nach links ()

c,n0:t(n)c(max(f(n),g(n))) n>n0

t(n)c(f(n)+g(n)) n>n0

t(n)O(f(n),g(n))

Beispiel

O(n4+n2)=O(n4)

O(n4+4n3)=O(n4)

O(n4+2n)=O(2n)

Lemma

1. O(f(n))O(g(n)) genau dann wenn f(n)O(g(n))
2. O(f(n))=O(g(n)) genau dann wenn f(n)O(g(n))g(n)O(f(n))
3. O(f(n))O(g(n)) genau dann wenn f(n)O(g(n))g(n)O(f(n))


Beweis in beide Richtungen

Beweis zu 1. nach rechts ()

O(f(n))O(g(n))f(n)O(g(n))

f(n)O(f(n))O(g(n))f(n)O(g(n))


Beweis zu 1. nach links ()

O(f(n))O(g(n))f(n)O(g(n))

f(n)O(g(n))c0,n0:f(n)c0g(n) n>n0 (siehe Definition)


und sei t(n) ein beliebiges Element der Menge O(f(n))


t(n)O(f(n))c1,n1:t(n)c1f(n) n>n1 (siehe Definition)

t(n)c1f(n)c1c0g(n) n>max(n0,n1)

t(n)O(f(n))t(n)O(g(n))

O(f(n))O(g(n)) (Definition der Teilmenge, da t(n) ein beliebiges Element ist)

Beispiele

O(n2)={n2,2n26,3n2+5,12n2+8,...}


Damit ist

(3n2+5)O(n2)

O(3n2+5)O(n2)

O(3n2+5)={n2,2n26,3n2+5,12n2+8,...}


Damit ist

n2O(3n2+5)

O(n2)O(3n2+5)


Damit ist

O(n2)=O(3n2+5)

Lemma

Falls f(n)O(g(n))undg(n)O(h(n)), dann ist auch f(n)O(h(n)). 

Beweis

f(n)c0g(n) n>n0und

g(n)c1h(n) n>n1und

f(n)c0g(n)c0c1h(n) nmax(n0,n1)

Dabei ist c0c1 eine Konstante.

Beispiel

O(n2)=O(3n2)=O(12n2)

O(n2)O(3n2)O(12n2)

O(n2)O(n2,5)O(n3)

O(n2)O(n2,5)O(n3)

Lemma

1. limn(f(n)/g(n))=c,c>0O(f(n))=O(g(n))
2. limn(f(n)/g(n))=0O(f(n))O(g(n))

Ein häufiges Problem sind Grenzwerte der Art oder 00 Bei diesem Problem kann man als Ansatz die Regel von de l'Hospital verwenden.

Satz(Regel von de L'Hospital) x
Seien f und g auf dem Intervall [α,) differenzierbar.
Es gelte limxf(x)=limxg(x)=0(bzw.=) 
und es existiere limxf(x)g(x).
Dann existiert auch limxf(x)g(x) und es gilt:
limxf(x)g(x)=limxf(x)g(x)

Beispiel

1. f(n)=3n+5,g(n)=n

limn3n+5nlimn31=3>0O(3n+5)=O(n)

2. f(n)=n2+5,g(n)=n3

limnn2+5n3limn2n3n2limn26n=0O(n2+5)O(n3)

Beim zweiten Beispiel musste die Regel von de l'Hospital wiederholt angewandt werden.

Lemma

Gibt es immer eine Ordnung zwischen den Funktionen? Es gibt Funktionen f und g mit f(n)O(g(n))undg(n)O(f(n)). Ein Beispiel sind die Funktionen sin(n) und cos(n).

Für alle mgilt:O(nm)O(nm+1)

Beweis durch Widerspruch

Wir nehmen an, dass s(n)O(nk),

das heißt c,n0,n>n0:s(n)cnk.

Aber es muss auch s(n)O(nk+1) gelten,

das heißt n>n0:s(n)>cnk+1

n>n0:undn<1


Discussion