• Keine Ergebnisse gefunden

Datenstrukturen und Algorithmen Vorlesung 2: Asymptotische Effizienz (K3) Joost-Pieter Katoen

N/A
N/A
Protected

Academic year: 2022

Aktie "Datenstrukturen und Algorithmen Vorlesung 2: Asymptotische Effizienz (K3) Joost-Pieter Katoen"

Copied!
109
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Asymptotische Effizienz

Datenstrukturen und Algorithmen

Vorlesung 2: Asymptotische Effizienz (K3)

Joost-Pieter Katoen

Lehrstuhl für Informatik 2 Software Modeling and Verification Group

https://moves.rwth-aachen.de/teaching/ss-18/dsal/

20. April 2018

Joost-Pieter Katoen Datenstrukturen und Algorithmen 1/29

(2)

Asymptotische Effizienz

Übersicht

1 Asymptotische Betrachtung Begründung

Grenzwerte

2 Asymptotische Komplexitätsklassen Die Klasse Groß-O

Die Klasse Groß-Omega Die Klasse Groß-Theta

3 Platzkomplexität

(3)

Asymptotische Effizienz Asymptotische Betrachtung

Übersicht

1 Asymptotische Betrachtung Begründung

Grenzwerte

2 Asymptotische Komplexitätsklassen Die Klasse Groß-O

Die Klasse Groß-Omega Die Klasse Groß-Theta

3 Platzkomplexität

Joost-Pieter Katoen Datenstrukturen und Algorithmen 3/29

(4)

Asymptotische Effizienz Asymptotische Betrachtung

Laufzeit von Algorithmen

Betrachte

Die Laufzeit eines Algorithmus ist keine Zahl, sondern eine Funktion.

Sie gibt die Laufzeit des Algorithmus für jede Eingabelänge an.

Worst-Case Laufzeit

Die Worst-CaseLaufzeit W(n) für Eingabelänge n ist die längsteLaufzeit aus allen Eingaben mit Länge n.

Best-Case Laufzeit

Die Best-CaseLaufzeit B(n) für Eingabelängen ist diekürzeste Laufzeit aus allen Eingaben mit Länge n.

(5)

Asymptotische Effizienz Asymptotische Betrachtung

Laufzeit von Algorithmen

Betrachte

Die Laufzeit eines Algorithmus ist keine Zahl, sondern eine Funktion.

Sie gibt die Laufzeit des Algorithmus für jede Eingabelänge an.

Worst-Case Laufzeit

Die Worst-CaseLaufzeit W(n) für Eingabelänge n ist die längsteLaufzeit aus allen Eingaben mit Länge n.

Best-Case Laufzeit

Die Best-CaseLaufzeit B(n) für Eingabelängen ist diekürzeste Laufzeit aus allen Eingaben mit Länge n.

Joost-Pieter Katoen Datenstrukturen und Algorithmen 4/29

(6)

Asymptotische Effizienz Asymptotische Betrachtung

Laufzeit von Algorithmen

Betrachte

Die Laufzeit eines Algorithmus ist keine Zahl, sondern eine Funktion.

Sie gibt die Laufzeit des Algorithmus für jede Eingabelänge an.

Worst-Case Laufzeit

Die Worst-CaseLaufzeit W(n) für Eingabelänge n ist die längsteLaufzeit aus allen Eingaben mit Länge n.

Best-Case Laufzeit

Die Best-CaseLaufzeit B(n) für Eingabelängen ist diekürzeste Laufzeit aus allen Eingaben mit Länge n.

(7)

Asymptotische Effizienz Asymptotische Betrachtung

Asymptotische Betrachtung (I)

Die exakte Bestimmung der Funktionen A(n),B(n) und W(n) ist üblicherweise sehr schwierig.

Außerdem:

I ist sie von zweifelhaftem Nutzen für Vergleiche: Ist etwaW(n) = 1021n besser als W(n) = 12n2?

I wollen wir maschinenabhängige Konstanten (z. B. Rechnergeschwin- digkeit), Initialisierungsaufwand, usw. ausklammern.

Daher: Normalerweise keine exakte sondern asymptotische Betrachtung.

Joost-Pieter Katoen Datenstrukturen und Algorithmen 5/29

(8)

Asymptotische Effizienz Asymptotische Betrachtung

Asymptotische Betrachtung (I)

Die exakte Bestimmung der Funktionen A(n),B(n) und W(n) ist üblicherweise sehr schwierig. Außerdem:

I ist sie von zweifelhaftem Nutzen für Vergleiche: Ist etwaW(n) = 1021n besser als W(n) = 12n2?

I wollen wir maschinenabhängige Konstanten (z. B. Rechnergeschwin- digkeit), Initialisierungsaufwand, usw. ausklammern.

Daher: Normalerweise keine exakte sondern asymptotische Betrachtung.

(9)

Asymptotische Effizienz Asymptotische Betrachtung

Asymptotische Betrachtung (I)

Die exakte Bestimmung der Funktionen A(n),B(n) und W(n) ist üblicherweise sehr schwierig. Außerdem:

I ist sie von zweifelhaftem Nutzen für Vergleiche:

Ist etwaW(n) = 1021n besser als W(n) = 12n2?

I wollen wir maschinenabhängige Konstanten (z. B. Rechnergeschwin- digkeit), Initialisierungsaufwand, usw. ausklammern.

Daher: Normalerweise keine exakte sondern asymptotische Betrachtung.

Joost-Pieter Katoen Datenstrukturen und Algorithmen 5/29

(10)

Asymptotische Effizienz Asymptotische Betrachtung

Asymptotische Betrachtung (I)

Die exakte Bestimmung der Funktionen A(n),B(n) und W(n) ist üblicherweise sehr schwierig. Außerdem:

I ist sie von zweifelhaftem Nutzen für Vergleiche:

Ist etwaW(n) = 1021n besser als W(n) = 12n2?

I wollen wir maschinenabhängige Konstanten (z. B. Rechnergeschwin- digkeit), Initialisierungsaufwand, usw. ausklammern.

Daher: Normalerweise keine exakte sondern asymptotische Betrachtung.

(11)

Asymptotische Effizienz Asymptotische Betrachtung

Asymptotische Betrachtung (I)

Die exakte Bestimmung der Funktionen A(n),B(n) und W(n) ist üblicherweise sehr schwierig. Außerdem:

I ist sie von zweifelhaftem Nutzen für Vergleiche:

Ist etwaW(n) = 1021n besser als W(n) = 12n2?

I wollen wir maschinenabhängige Konstanten (z. B. Rechnergeschwin- digkeit), Initialisierungsaufwand, usw. ausklammern.

Daher: Normalerweise keine exakte sondern asymptotische Betrachtung.

Joost-Pieter Katoen Datenstrukturen und Algorithmen 5/29

(12)

Asymptotische Effizienz Asymptotische Betrachtung

Asymptotische Betrachtung (II)

I Betrachte Wachstum der Laufzeit für n−→ ∞.

I Kurze Eingaben und konstante Faktoren werden vernachlässigt.

I Anschaulich:Wir lassen Glieder niedriger Ordnung weg, z. B. : W(n) = 3n4+ 5n3+ 10∈O(n4)

(d. h.n4 ist dominierender Faktor fürn −→ ∞)

I So erhalten wir untere/obere Schranken für A(n),B(n) und W(n)!

I Mathematische Zutat:Asymptotische Ordnung von Funktionen.

(13)

Asymptotische Effizienz Asymptotische Betrachtung

Asymptotische Betrachtung (II)

I Betrachte Wachstum der Laufzeit für n−→ ∞.

I Kurze Eingaben und konstante Faktoren werden vernachlässigt.

I Anschaulich:Wir lassen Glieder niedriger Ordnung weg, z. B. : W(n) = 3n4+ 5n3+ 10∈O(n4)

(d. h.n4 ist dominierender Faktor fürn −→ ∞)

I So erhalten wir untere/obere Schranken für A(n),B(n) und W(n)!

I Mathematische Zutat:Asymptotische Ordnung von Funktionen.

Joost-Pieter Katoen Datenstrukturen und Algorithmen 6/29

(14)

Asymptotische Effizienz Asymptotische Betrachtung

Asymptotische Betrachtung (II)

I Betrachte Wachstum der Laufzeit für n−→ ∞.

I Kurze Eingaben und konstante Faktoren werden vernachlässigt.

I Anschaulich:Wir lassen Glieder niedriger Ordnung weg, z. B. : W(n) = 3n4+ 5n3+ 10∈O(n4)

(d. h.n4 ist dominierender Faktor fürn −→ ∞)

I So erhalten wir untere/obere Schranken für A(n),B(n) und W(n)!

I Mathematische Zutat:Asymptotische Ordnung von Funktionen.

(15)

Asymptotische Effizienz Asymptotische Betrachtung

Asymptotische Betrachtung (II)

I Betrachte Wachstum der Laufzeit für n−→ ∞.

I Kurze Eingaben und konstante Faktoren werden vernachlässigt.

I Anschaulich:Wir lassen Glieder niedriger Ordnung weg, z. B. : W(n) = 3n4+ 5n3+ 10∈O(n4)

(d. h.n4 ist dominierender Faktor fürn −→ ∞)

I So erhalten wir untere/obere Schranken für A(n),B(n) und W(n)!

I Mathematische Zutat:Asymptotische Ordnung von Funktionen.

Joost-Pieter Katoen Datenstrukturen und Algorithmen 6/29

(16)

Asymptotische Effizienz Asymptotische Betrachtung

Asymptotische Betrachtung (II)

I Betrachte Wachstum der Laufzeit für n−→ ∞.

I Kurze Eingaben und konstante Faktoren werden vernachlässigt.

I Anschaulich:Wir lassen Glieder niedriger Ordnung weg, z. B. : W(n) = 3n4+ 5n3+ 10∈O(n4)

(d. h.n4 ist dominierender Faktor fürn −→ ∞)

I So erhalten wir untere/obere Schranken für A(n),B(n) und W(n)!

I Mathematische Zutat:Asymptotische Ordnung von Funktionen.

(17)

Asymptotische Effizienz Asymptotische Betrachtung

Grenzwerte

Limes inferior und Limes superior Sei (xi)i∈N die Folgex1,x2,. . .. Dann:

1. lim inf

n→∞ xn = lim

n→∞

m>ninf xm

2. lim sup

n→∞ xn = lim

n→∞ sup

m>n

xm

!

Einige Fakten 1. Existieren lim inf

n→∞ xn und lim sup

n→∞ xn:lim inf

n→∞ xn 6 lim sup

n→∞ xn. 2. Existiert lim

n→∞xn dann:lim inf

n→∞ xn = lim sup

n→∞ xn = lim

n→∞xn.

Sind f,g differenzierbar, dann gilt lim

n−→∞

g(n)

f(n) = lim

n−→∞

g0(n)

f0(n). L’Hôpital

Joost-Pieter Katoen Datenstrukturen und Algorithmen 7/29

(18)

Asymptotische Effizienz Asymptotische Betrachtung

Grenzwerte

Limes inferior und Limes superior Sei (xi)i∈N die Folgex1,x2,. . .. Dann:

1. lim inf

n→∞ xn = lim

n→∞

m>ninf xm

2. lim sup

n→∞ xn = lim

n→∞ sup

m>n

xm

!

Einige Fakten 1. Existieren lim inf

n→∞ xn und lim sup

n→∞ xn:lim inf

n→∞ xn 6 lim sup

n→∞ xn.

2. Existiert lim

n→∞xn dann:lim inf

n→∞ xn = lim sup

n→∞ xn = lim

n→∞xn.

Sind f,g differenzierbar, dann gilt lim

n−→∞

g(n)

f(n) = lim

n−→∞

g0(n)

f0(n). L’Hôpital

(19)

Asymptotische Effizienz Asymptotische Betrachtung

Grenzwerte

Limes inferior und Limes superior Sei (xi)i∈N die Folgex1,x2,. . .. Dann:

1. lim inf

n→∞ xn = lim

n→∞

m>ninf xm

2. lim sup

n→∞ xn = lim

n→∞ sup

m>n

xm

!

Einige Fakten 1. Existieren lim inf

n→∞ xn und lim sup

n→∞ xn:lim inf

n→∞ xn 6 lim sup

n→∞ xn. 2. Existiert lim

n→∞xn dann:lim inf

n→∞ xn = lim sup

n→∞ xn = lim

n→∞xn.

Sind f,g differenzierbar, dann gilt lim

n−→∞

g(n)

f(n) = lim

n−→∞

g0(n)

f0(n). L’Hôpital

Joost-Pieter Katoen Datenstrukturen und Algorithmen 7/29

(20)

Asymptotische Effizienz Asymptotische Betrachtung

Grenzwerte

Limes inferior und Limes superior Sei (xi)i∈N die Folgex1,x2,. . .. Dann:

1. lim inf

n→∞ xn = lim

n→∞

m>ninf xm

2. lim sup

n→∞ xn = lim

n→∞ sup

m>n

xm

!

Einige Fakten 1. Existieren lim inf

n→∞ xn und lim sup

n→∞ xn:lim inf

n→∞ xn 6 lim sup

n→∞ xn. 2. Existiert lim

n→∞xn dann:lim inf

n→∞ xn = lim sup

n→∞ xn = lim

n→∞xn.

g(n) g0(n)

(21)

Asymptotische Effizienz Asymptotische Komplexitätsklassen

Übersicht

1 Asymptotische Betrachtung Begründung

Grenzwerte

2 Asymptotische Komplexitätsklassen Die Klasse Groß-O

Die Klasse Groß-Omega Die Klasse Groß-Theta

3 Platzkomplexität

Joost-Pieter Katoen Datenstrukturen und Algorithmen 8/29

(22)

Asymptotische Effizienz Asymptotische Komplexitätsklassen

Die Klasse Groß-O (I)

Seienf und g Funktionen vonIN (Eingabelänge) nachIR>0 (Laufzeit) und c >0.

O(f) ist dieMengevon Funktionen, dienicht schnellerals f wachsen.

I gO(f) heißt:c ·f(n) ist obere Schranke fürg(n). Diese Eigenschaft gilt ab einer

Konstantenn0; Werte untern0 werden vernachlässigt.

Laufzeit

g(n)

Eingabelängen

O

c·f(n)

n0

Die Klasse Groß-O liefert eineobere Schranke für die Komplexität einer Funktion.

I Kleinste obere Schranken sind von größtem Nutzen! gO(n2) sagt mehr als gO(n3).

(23)

Asymptotische Effizienz Asymptotische Komplexitätsklassen

Die Klasse Groß-O (I)

Seienf und g Funktionen vonIN (Eingabelänge) nachIR>0 (Laufzeit) und c >0.

O(f) ist die Mengevon Funktionen, dienicht schnellerals f wachsen.

I gO(f) heißt:c·f(n) ist obere Schranke fürg(n).

Diese Eigenschaft gilt ab einer

Konstantenn0; Werte untern0 werden vernachlässigt.

Laufzeit

g(n)

Eingabelängen

O

c·f(n)

n0

Definition

gO(f) gdw. ∃c >0,n0 mit ∀n>n0: 06g(n)6c ·f(n).

Joost-Pieter Katoen Datenstrukturen und Algorithmen 9/29

(24)

Asymptotische Effizienz Asymptotische Komplexitätsklassen

Die Klasse Groß-O (I)

Seienf und g Funktionen vonIN (Eingabelänge) nachIR>0 (Laufzeit) und c >0.

O(f) ist die Mengevon Funktionen, dienicht schnellerals f wachsen.

I gO(f) heißt:c·f(n) ist obere Schranke fürg(n).

Diese Eigenschaft gilt ab einer

Konstantenn0; Werte untern0 werden vernachlässigt.

Laufzeit

g(n)

Eingabelängen

O

c·f(n)

n0

Definition

gO(f) gdw. ∃c >0,n0 mit ∀n>n0: 06g(n)6c ·f(n).

(25)

Asymptotische Effizienz Asymptotische Komplexitätsklassen

Die Klasse Groß-O (I)

Seienf und g Funktionen vonIN (Eingabelänge) nachIR>0 (Laufzeit) und c >0.

O(f) ist die Mengevon Funktionen, dienicht schnellerals f wachsen.

I gO(f) heißt:c·f(n) ist obere Schranke fürg(n).

Diese Eigenschaft gilt ab einer

Konstantenn0; Werte untern0 werden vernachlässigt.

Laufzeit

g(n)

Eingabelängen

O

c·f(n)

n0

Definition (alternativ)

gO(f) gdw. lim supn−→∞gf(n)(n) =c >0 mitc 6=∞.

Joost-Pieter Katoen Datenstrukturen und Algorithmen 9/29

(26)

Asymptotische Effizienz Asymptotische Komplexitätsklassen

Die Klasse Groß-O (II)

Definition (Die Klasse Groß-O)

gO(f) gdw. ∃c >0,n0 mit ∀n>n0: 06g(n)6c ·f(n).

Definition (alternativ)

gO(f) gdw. lim supn−→∞gf(n)(n) =c >0 mit c 6=∞.

Theorem

Es seien f , g :IN−→IR zwei Funktionen. Es sei nur endlich oft f(n) = 0. Dann:

lim supn−→∞gf(n)(n) existiert gdw.∃c >0, n0 mit∀n >n0 :g(n)6c ·f(n).

(27)

Asymptotische Effizienz Asymptotische Komplexitätsklassen

Die Klasse Groß-O (II)

Definition (Die Klasse Groß-O)

gO(f) gdw. ∃c >0,n0 mit ∀n>n0: 06g(n)6c ·f(n).

Definition (alternativ)

gO(f) gdw. lim supn−→∞gf(n)(n) =c >0 mitc 6=∞.

Theorem

Es seien f , g :IN−→IR zwei Funktionen. Es sei nur endlich oft f(n) = 0. Dann:

lim supn−→∞gf(n)(n) existiert gdw.∃c >0, n0 mit∀n >n0 :g(n)6c ·f(n).

Joost-Pieter Katoen Datenstrukturen und Algorithmen 10/29

(28)

Asymptotische Effizienz Asymptotische Komplexitätsklassen

Die Klasse Groß-O (II)

Definition (Die Klasse Groß-O)

gO(f) gdw. ∃c >0,n0 mit ∀n>n0: 06g(n)6c ·f(n).

Definition (alternativ)

gO(f) gdw. lim supn−→∞gf(n)(n) =c >0 mitc 6=∞.

Theorem

Es seien f , g :IN−→IR zwei Funktionen. Es sei nur endlich oft f(n) = 0.

Dann:

lim supn−→∞gf(n)(n) existiert gdw. ∃c >0, n0 mit∀n >n0 :g(n)6c·f(n).

(29)

Asymptotische Effizienz Asymptotische Komplexitätsklassen

Die Klasse Groß-O (III)

Theorem

Es seien f , g :IN−→IR zwei Funktionen. Es sei nur endlich oft f(n) = 0.

Dann existiertlim supn−→∞gf(n)(n) gdw.∃c >0,n0.∀n >n0 :g(n)6c·f(n).

Beweis.

„=⇒“: Sei lim supn−→∞ g(n)f(n) =c <∞. Für ε>0 es folgt c+ε> g(n)f(n) und f(n)6= 0 bis auf endlich viele Ausnahmen. Ab einemn0 ∈IN gilt für alle n>n0 also:c +ε> gf(n)(n); und damit: g(n)6(c+ε)·f(n).

„⇐=“: Gegeben seien nunn00,c >0 so dass ∀n >n00 :g(n)6c·f(n). Ab einemn0 >n00 gilt (wie oben) außerdemf(n)6= 0 für alle n>n0. Damit ist ∀n>n0 : 06 gf(n)(n) 6c.

Die Folge an= g(n)f(n) ist in [0,c], also beschränkt und abgeschlossen. Dann existiert lim supn−→∞an<∞.

Joost-Pieter Katoen Datenstrukturen und Algorithmen 11/29

(30)

Asymptotische Effizienz Asymptotische Komplexitätsklassen

Die Klasse Groß-O (III)

Theorem

Es seien f , g :IN−→IR zwei Funktionen. Es sei nur endlich oft f(n) = 0.

Dann existiertlim supn−→∞gf(n)(n) gdw.∃c >0,n0.∀n >n0 :g(n)6c·f(n).

Beweis.

„=⇒“:

Sei lim supn−→∞ g(n)f(n) =c <∞. Für ε>0 es folgt c+ε> g(n)f(n) und f(n)6= 0 bis auf endlich viele Ausnahmen. Ab einemn0 ∈IN gilt für alle n>n0 also:c +ε> gf(n)(n); und damit: g(n)6(c+ε)·f(n).

„⇐=“: Gegeben seien nunn00,c >0 so dass ∀n >n00 :g(n)6c·f(n). Ab einemn0 >n00 gilt (wie oben) außerdemf(n)6= 0 für alle n>n0. Damit ist ∀n>n0 : 06 gf(n)(n) 6c.

Die Folge an= g(n)f(n) ist in [0,c], also beschränkt und abgeschlossen. Dann existiert lim supn−→∞an<∞.

(31)

Asymptotische Effizienz Asymptotische Komplexitätsklassen

Die Klasse Groß-O (III)

Theorem

Es seien f , g :IN−→IR zwei Funktionen. Es sei nur endlich oft f(n) = 0.

Dann existiertlim supn−→∞gf(n)(n) gdw.∃c >0,n0.∀n >n0 :g(n)6c·f(n).

Beweis.

„=⇒“: Sei lim supn−→∞ g(n)f(n) =c <∞.

Für ε>0 es folgt c+ε> g(n)f(n) und f(n)6= 0 bis auf endlich viele Ausnahmen. Ab einemn0 ∈IN gilt für alle n>n0 also:c +ε> gf(n)(n); und damit: g(n)6(c+ε)·f(n).

„⇐=“: Gegeben seien nunn00,c >0 so dass ∀n >n00 :g(n)6c·f(n). Ab einemn0 >n00 gilt (wie oben) außerdemf(n)6= 0 für alle n>n0. Damit ist ∀n>n0 : 06 gf(n)(n) 6c.

Die Folge an= g(n)f(n) ist in [0,c], also beschränkt und abgeschlossen. Dann existiert lim supn−→∞an<∞.

Joost-Pieter Katoen Datenstrukturen und Algorithmen 11/29

(32)

Asymptotische Effizienz Asymptotische Komplexitätsklassen

Die Klasse Groß-O (III)

Theorem

Es seien f , g :IN−→IR zwei Funktionen. Es sei nur endlich oft f(n) = 0.

Dann existiertlim supn−→∞gf(n)(n) gdw.∃c >0,n0.∀n >n0 :g(n)6c·f(n).

Beweis.

„=⇒“: Sei lim supn−→∞ g(n)f(n) =c <∞. Für ε>0 es folgt c+ε> gf(n)(n) und f(n)6= 0 bis auf endlich viele Ausnahmen.

Ab einemn0 ∈IN gilt für alle n>n0 also:c +ε> gf(n)(n); und damit: g(n)6(c+ε)·f(n).

„⇐=“: Gegeben seien nunn00,c >0 so dass ∀n >n00 :g(n)6c·f(n). Ab einemn0 >n00 gilt (wie oben) außerdemf(n)6= 0 für alle n>n0. Damit ist ∀n>n0 : 06 gf(n)(n) 6c.

Die Folge an= g(n)f(n) ist in [0,c], also beschränkt und abgeschlossen. Dann existiert lim supn−→∞an<∞.

(33)

Asymptotische Effizienz Asymptotische Komplexitätsklassen

Die Klasse Groß-O (III)

Theorem

Es seien f , g :IN−→IR zwei Funktionen. Es sei nur endlich oft f(n) = 0.

Dann existiertlim supn−→∞gf(n)(n) gdw.∃c >0,n0.∀n >n0 :g(n)6c·f(n).

Beweis.

„=⇒“: Sei lim supn−→∞ g(n)f(n) =c <∞. Für ε>0 es folgt c+ε> gf(n)(n) und f(n)6= 0 bis auf endlich viele Ausnahmen. Ab einemn0 ∈IN gilt für alle n>n0 also:c +ε> gf(n)(n);

und damit: g(n)6(c+ε)·f(n).

„⇐=“: Gegeben seien nunn00,c >0 so dass ∀n >n00 :g(n)6c·f(n). Ab einemn0 >n00 gilt (wie oben) außerdemf(n)6= 0 für alle n>n0. Damit ist ∀n>n0 : 06 gf(n)(n) 6c.

Die Folge an= g(n)f(n) ist in [0,c], also beschränkt und abgeschlossen. Dann existiert lim supn−→∞an<∞.

Joost-Pieter Katoen Datenstrukturen und Algorithmen 11/29

(34)

Asymptotische Effizienz Asymptotische Komplexitätsklassen

Die Klasse Groß-O (III)

Theorem

Es seien f , g :IN−→IR zwei Funktionen. Es sei nur endlich oft f(n) = 0.

Dann existiertlim supn−→∞gf(n)(n) gdw.∃c >0,n0.∀n >n0 :g(n)6c·f(n).

Beweis.

„=⇒“: Sei lim supn−→∞ g(n)f(n) =c <∞. Für ε>0 es folgt c+ε> gf(n)(n) und f(n)6= 0 bis auf endlich viele Ausnahmen. Ab einemn0 ∈IN gilt für alle n>n0 also:c +ε> gf(n)(n); und damit: g(n)6(c+ε)·f(n).

„⇐=“: Gegeben seien nunn00,c >0 so dass ∀n >n00 :g(n)6c·f(n). Ab einemn0 >n00 gilt (wie oben) außerdemf(n)6= 0 für alle n>n0. Damit ist ∀n>n0 : 06 gf(n)(n) 6c.

Die Folge an= g(n)f(n) ist in [0,c], also beschränkt und abgeschlossen. Dann existiert lim supn−→∞an<∞.

(35)

Asymptotische Effizienz Asymptotische Komplexitätsklassen

Die Klasse Groß-O (III)

Theorem

Es seien f , g :IN−→IR zwei Funktionen. Es sei nur endlich oft f(n) = 0.

Dann existiertlim supn−→∞gf(n)(n) gdw.∃c >0,n0.∀n >n0 :g(n)6c·f(n).

Beweis.

„=⇒“: Sei lim supn−→∞ g(n)f(n) =c <∞. Für ε>0 es folgt c+ε> gf(n)(n) und f(n)6= 0 bis auf endlich viele Ausnahmen. Ab einemn0 ∈IN gilt für alle n>n0 also:c +ε> gf(n)(n); und damit: g(n)6(c+ε)·f(n).

„⇐=“:

Gegeben seien nunn00,c >0 so dass ∀n >n00 :g(n)6c·f(n). Ab einemn0 >n00 gilt (wie oben) außerdemf(n)6= 0 für alle n>n0. Damit ist ∀n>n0 : 06 gf(n)(n) 6c.

Die Folge an= g(n)f(n) ist in [0,c], also beschränkt und abgeschlossen. Dann existiert lim supn−→∞an<∞.

Joost-Pieter Katoen Datenstrukturen und Algorithmen 11/29

(36)

Asymptotische Effizienz Asymptotische Komplexitätsklassen

Die Klasse Groß-O (III)

Theorem

Es seien f , g :IN−→IR zwei Funktionen. Es sei nur endlich oft f(n) = 0.

Dann existiertlim supn−→∞gf(n)(n) gdw.∃c >0,n0.∀n >n0 :g(n)6c·f(n).

Beweis.

„=⇒“: Sei lim supn−→∞ g(n)f(n) =c <∞. Für ε>0 es folgt c+ε> gf(n)(n) und f(n)6= 0 bis auf endlich viele Ausnahmen. Ab einemn0 ∈IN gilt für alle n>n0 also:c +ε> gf(n)(n); und damit: g(n)6(c+ε)·f(n).

„⇐=“: Gegeben seien nunn00,c >0 so dass ∀n>n00 :g(n)6c·f(n).

Ab einemn0 >n00 gilt (wie oben) außerdemf(n)6= 0 für alle n>n0. Damit ist ∀n>n0 : 06 gf(n)(n) 6c.

Die Folge an= g(n)f(n) ist in [0,c], also beschränkt und abgeschlossen. Dann existiert lim supn−→∞an<∞.

(37)

Asymptotische Effizienz Asymptotische Komplexitätsklassen

Die Klasse Groß-O (III)

Theorem

Es seien f , g :IN−→IR zwei Funktionen. Es sei nur endlich oft f(n) = 0.

Dann existiertlim supn−→∞gf(n)(n) gdw.∃c >0,n0.∀n >n0 :g(n)6c·f(n).

Beweis.

„=⇒“: Sei lim supn−→∞ g(n)f(n) =c <∞. Für ε>0 es folgt c+ε> gf(n)(n) und f(n)6= 0 bis auf endlich viele Ausnahmen. Ab einemn0 ∈IN gilt für alle n>n0 also:c +ε> gf(n)(n); und damit: g(n)6(c+ε)·f(n).

„⇐=“: Gegeben seien nunn00,c >0 so dass ∀n>n00 :g(n)6c·f(n).

Ab einemn0 >n00 gilt (wie oben) außerdemf(n)6= 0 für alle n>n0.

Damit ist ∀n>n0 : 06 gf(n)(n) 6c.

Die Folge an= g(n)f(n) ist in [0,c], also beschränkt und abgeschlossen. Dann existiert lim supn−→∞an<∞.

Joost-Pieter Katoen Datenstrukturen und Algorithmen 11/29

(38)

Asymptotische Effizienz Asymptotische Komplexitätsklassen

Die Klasse Groß-O (III)

Theorem

Es seien f , g :IN−→IR zwei Funktionen. Es sei nur endlich oft f(n) = 0.

Dann existiertlim supn−→∞gf(n)(n) gdw.∃c >0,n0.∀n >n0 :g(n)6c·f(n).

Beweis.

„=⇒“: Sei lim supn−→∞ g(n)f(n) =c <∞. Für ε>0 es folgt c+ε> gf(n)(n) und f(n)6= 0 bis auf endlich viele Ausnahmen. Ab einemn0 ∈IN gilt für alle n>n0 also:c +ε> gf(n)(n); und damit: g(n)6(c+ε)·f(n).

„⇐=“: Gegeben seien nunn00,c >0 so dass ∀n>n00 :g(n)6c·f(n).

Ab einemn0 >n00 gilt (wie oben) außerdemf(n)6= 0 für alle n>n0. Damit ist ∀n>n0: 06 gf(n)(n) 6c.

Die Folge an= g(n)f(n) ist in [0,c], also beschränkt und abgeschlossen. Dann existiert lim supn−→∞an<∞.

(39)

Asymptotische Effizienz Asymptotische Komplexitätsklassen

Die Klasse Groß-O (III)

Theorem

Es seien f , g :IN−→IR zwei Funktionen. Es sei nur endlich oft f(n) = 0.

Dann existiertlim supn−→∞gf(n)(n) gdw.∃c >0,n0.∀n >n0 :g(n)6c·f(n).

Beweis.

„=⇒“: Sei lim supn−→∞ g(n)f(n) =c <∞. Für ε>0 es folgt c+ε> gf(n)(n) und f(n)6= 0 bis auf endlich viele Ausnahmen. Ab einemn0 ∈IN gilt für alle n>n0 also:c +ε> gf(n)(n); und damit: g(n)6(c+ε)·f(n).

„⇐=“: Gegeben seien nunn00,c >0 so dass ∀n>n00 :g(n)6c·f(n).

Ab einemn0 >n00 gilt (wie oben) außerdemf(n)6= 0 für alle n>n0. Damit ist ∀n>n0: 06 gf(n)(n) 6c.

Die Folge an= g(n)f(n) ist in [0,c], also beschränkt und abgeschlossen.

Dann existiert lim supn−→∞an<∞.

Joost-Pieter Katoen Datenstrukturen und Algorithmen 11/29

(40)

Asymptotische Effizienz Asymptotische Komplexitätsklassen

Die Klasse Groß-O (III)

Theorem

Es seien f , g :IN−→IR zwei Funktionen. Es sei nur endlich oft f(n) = 0.

Dann existiertlim supn−→∞gf(n)(n) gdw.∃c >0,n0.∀n >n0 :g(n)6c·f(n).

Beweis.

„=⇒“: Sei lim supn−→∞ g(n)f(n) =c <∞. Für ε>0 es folgt c+ε> gf(n)(n) und f(n)6= 0 bis auf endlich viele Ausnahmen. Ab einemn0 ∈IN gilt für alle n>n0 also:c +ε> gf(n)(n); und damit: g(n)6(c+ε)·f(n).

„⇐=“: Gegeben seien nunn00,c >0 so dass ∀n>n00 :g(n)6c·f(n).

Ab einemn0 >n00 gilt (wie oben) außerdemf(n)6= 0 für alle n>n0. Damit ist ∀n>n0: 06 gf(n)(n) 6c.

Die Folge an= g(n)f(n) ist in [0,c], also beschränkt und abgeschlossen.

∞.

(41)

Asymptotische Effizienz Asymptotische Komplexitätsklassen

Die Klasse Groß-O (IV)

Definition

gO(f) gdw. ∃c >0,n0 mit ∀n>n0: 06g(n)6c ·f(n).

Definition (alternativ)

gO(f) gdw. lim supn−→∞gf(n)(n) =c >0 mitc 6=∞.

Beispiel

Betrachte g(n) = 3n2+ 10n+ 6. Dann ist:

I g 6∈O(n), da lim supn−→∞g(n)/n =∞.

I gO(n2), dag(n)620n2 fürn >1.

I gO(n3), dag(n)6 101n3 fürn hinreichend groß.

Joost-Pieter Katoen Datenstrukturen und Algorithmen 12/29

(42)

Asymptotische Effizienz Asymptotische Komplexitätsklassen

Die Klasse Groß-O (IV)

Definition

gO(f) gdw. ∃c >0,n0 mit ∀n>n0: 06g(n)6c ·f(n).

Definition (alternativ)

gO(f) gdw. lim supn−→∞gf(n)(n) =c >0 mitc 6=∞.

Beispiel

Betrachte g(n) = 3n2+ 10n+ 6. Dann ist:

I g 6∈O(n), da lim supn−→∞g(n)/n =∞.

I gO(n2), dag(n)620n2 fürn >1.

I gO(n3), dag(n)6 101n3 fürn hinreichend groß.

(43)

Asymptotische Effizienz Asymptotische Komplexitätsklassen

Die Klasse Groß-O (IV)

Definition

gO(f) gdw. ∃c >0,n0 mit ∀n>n0: 06g(n)6c ·f(n).

Definition (alternativ)

gO(f) gdw. lim supn−→∞gf(n)(n) =c >0 mitc 6=∞.

Beispiel

Betrachte g(n) = 3n2+ 10n+ 6. Dann ist:

I g 6∈O(n), da lim supn−→∞g(n)/n =∞.

I gO(n2), dag(n)620n2 fürn >1.

I gO(n3), dag(n)6 101n3 fürn hinreichend groß.

Joost-Pieter Katoen Datenstrukturen und Algorithmen 12/29

(44)

Asymptotische Effizienz Asymptotische Komplexitätsklassen

Die Klasse Groß-O (IV)

Definition

gO(f) gdw. ∃c >0,n0 mit ∀n>n0: 06g(n)6c ·f(n).

Definition (alternativ)

gO(f) gdw. lim supn−→∞gf(n)(n) =c >0 mitc 6=∞.

Beispiel

Betrachte g(n) = 3n2+ 10n+ 6. Dann ist:

I g 6∈O(n), da lim supn−→∞g(n)/n =∞.

I gO(n2), dag(n)620n2 fürn>1.

I gO(n3), dag(n)6 101n3 fürn hinreichend groß.

(45)

Asymptotische Effizienz Asymptotische Komplexitätsklassen

Die Klasse Groß-O (IV)

Definition

gO(f) gdw. ∃c >0,n0 mit ∀n>n0: 06g(n)6c ·f(n).

Definition (alternativ)

gO(f) gdw. lim supn−→∞gf(n)(n) =c >0 mitc 6=∞.

Beispiel

Betrachte g(n) = 3n2+ 10n+ 6. Dann ist:

I g 6∈O(n), da lim supn−→∞g(n)/n =∞.

I gO(n2), dag(n)620n2 fürn>1.

I gO(n3), dag(n)6 101n3 fürn hinreichend groß.

Joost-Pieter Katoen Datenstrukturen und Algorithmen 12/29

(46)

Asymptotische Effizienz Asymptotische Komplexitätsklassen

Die Klasse Groß-Omega (I)

Ω(f) ist die Mengevon Funktionen, dienicht langsamerals f wachsen.

I g ∈Ω(f) heißt:c·f(n) ist untereSchranke für g(n).

Diese Eigenschaft gilt ab einer

Konstantenn0; Werte untern0 werden vernachlässigt.

Laufzeit

g(n) c·f(n)

Eingabelängen

n0

Die Klasse Groß-Omega liefert eine untereSchranke für die Komplexität einer Funktion.

I Größte untere Schrankensind von größtem Nutzen! g ∈Ω(n2) sagt mehr als g ∈Ω(n).

(47)

Asymptotische Effizienz Asymptotische Komplexitätsklassen

Die Klasse Groß-Omega (I)

Ω(f) ist die Mengevon Funktionen, dienicht langsamerals f wachsen.

I g ∈Ω(f) heißt:c·f(n) ist untereSchranke für g(n).

Diese Eigenschaft gilt ab einer

Konstantenn0; Werte untern0 werden vernachlässigt.

Laufzeit

g(n) c·f(n)

Eingabelängen

n0

Definition

g ∈Ω(f) gdw.∃c >0,n0 mit∀n>n0:c ·f(n)6g(n).

Definition (alternativ)

g ∈Ω(f) gdw. lim infn−→∞ g(n) f(n) >0.

Joost-Pieter Katoen Datenstrukturen und Algorithmen 13/29

(48)

Asymptotische Effizienz Asymptotische Komplexitätsklassen

Die Klasse Groß-Omega (II)

Definition (Die Klasse Groß-Omega)

g ∈Ω(f) gdw.∃c >0,n0 mit∀n>n0:c ·f(n)6g(n).

Definition (alternativ)

g ∈Ω(f) gdw. lim infn−→∞ g(n) f(n) >0.

Beispiel

Betrachte g(n) = 3n2+ 10n+ 6. Dann ist:

I g ∈Ω(n), da lim infn−→∞g(n)/n=∞>0.

I g ∈Ω(n2), da lim infn−→∞g(n)/n2 = 3>0.

I g 6∈Ω(n3), dag(n)65n3 für n>2.

(49)

Asymptotische Effizienz Asymptotische Komplexitätsklassen

Die Klasse Groß-Omega (II)

Definition (Die Klasse Groß-Omega)

g ∈Ω(f) gdw.∃c >0,n0 mit∀n>n0:c ·f(n)6g(n).

Definition (alternativ)

g ∈Ω(f) gdw. lim infn−→∞ g(n) f(n) >0.

Beispiel

Betrachte g(n) = 3n2+ 10n+ 6. Dann ist:

I g ∈Ω(n), da lim infn−→∞g(n)/n=∞>0.

I g ∈Ω(n2), da lim infn−→∞g(n)/n2 = 3>0.

I g 6∈Ω(n3), dag(n)65n3 für n>2.

Joost-Pieter Katoen Datenstrukturen und Algorithmen 14/29

(50)

Asymptotische Effizienz Asymptotische Komplexitätsklassen

Die Klasse Groß-Omega (II)

Definition (Die Klasse Groß-Omega)

g ∈Ω(f) gdw.∃c >0,n0 mit∀n>n0:c ·f(n)6g(n).

Definition (alternativ)

g ∈Ω(f) gdw. lim infn−→∞ g(n) f(n) >0.

Beispiel

Betrachte g(n) = 3n2+ 10n+ 6. Dann ist:

I g ∈Ω(n), da lim infn−→∞g(n)/n=∞>0.

I g ∈Ω(n2), da lim infn−→∞g(n)/n2 = 3>0.

I g 6∈Ω(n3), dag(n)65n3 für n>2.

(51)

Asymptotische Effizienz Asymptotische Komplexitätsklassen

Die Klasse Groß-Omega (II)

Definition (Die Klasse Groß-Omega)

g ∈Ω(f) gdw.∃c >0,n0 mit∀n>n0:c ·f(n)6g(n).

Definition (alternativ)

g ∈Ω(f) gdw. lim infn−→∞ g(n) f(n) >0.

Beispiel

Betrachte g(n) = 3n2+ 10n+ 6. Dann ist:

I g ∈Ω(n), da lim infn−→∞g(n)/n=∞>0.

I g ∈Ω(n2), da lim infn−→∞g(n)/n2 = 3>0.

I g 6∈Ω(n3), dag(n)65n3 für n>2.

Joost-Pieter Katoen Datenstrukturen und Algorithmen 14/29

(52)

Asymptotische Effizienz Asymptotische Komplexitätsklassen

Die Klasse Groß-Omega (II)

Definition (Die Klasse Groß-Omega)

g ∈Ω(f) gdw.∃c >0,n0 mit∀n>n0:c ·f(n)6g(n).

Definition (alternativ)

g ∈Ω(f) gdw. lim infn−→∞ g(n) f(n) >0.

Beispiel

Betrachte g(n) = 3n2+ 10n+ 6. Dann ist:

I g ∈Ω(n), da lim infn−→∞g(n)/n=∞>0.

I g ∈Ω(n2), da lim infn−→∞g(n)/n2 = 3>0.

I g 6∈Ω(n3), dag(n)65n3 für n>2.

(53)

Asymptotische Effizienz Asymptotische Komplexitätsklassen

Die Klasse Groß-Omega (II)

Definition (Die Klasse Groß-Omega)

g ∈Ω(f) gdw.∃c >0,n0 mit∀n>n0:c ·f(n)6g(n).

Definition (alternativ)

g ∈Ω(f) gdw. lim infn−→∞ g(n) f(n) >0.

Beispiel

Betrachte g(n) = 3n2+ 10n+ 6. Dann ist:

I g ∈Ω(n), da lim infn−→∞g(n)/n=∞>0.

I g ∈Ω(n2), da lim infn−→∞g(n)/n2 = 3>0.

I g 6∈Ω(n3), dag(n)65n3 für n>2.

Joost-Pieter Katoen Datenstrukturen und Algorithmen 14/29

(54)

Asymptotische Effizienz Asymptotische Komplexitätsklassen

Die Klasse Groß-Theta (I)

Θ(f) ist dieMengevon Funktionen, diegenauso schnellwie f wachsen.

I g ∈Θ(f) heißt:

c2·f(n) istobere Schrankeund c1·f(n) istuntere Schranke fürg(n).

Diese Eigenschaft gilt ab einer

Konstantenn0; Werte untern0 werden vernachlässigt.

Laufzeit

g(n)

c1·f(n) c2·f(n)

n0 Eingabelängen

Θ

(55)

Asymptotische Effizienz Asymptotische Komplexitätsklassen

Die Klasse Groß-Theta (I)

Θ(f) ist dieMengevon Funktionen, diegenauso schnellwie f wachsen.

I g ∈Θ(f) heißt:

c2·f(n) istobere Schrankeund c1·f(n) istuntere Schranke fürg(n).

Diese Eigenschaft gilt ab einer

Konstantenn0; Werte untern0 werden vernachlässigt.

Laufzeit

g(n)

c1·f(n) c2·f(n)

n0 Eingabelängen

Θ

Die Klasse Groß-Theta liefert eine obere unduntere Schranke für die Komplexität einer Funktion.

Definition (Die Klasse Groß-Theta)

g ∈Θ(f) gdw.∃c1,c2 >0,n0 mit∀n>n0:c1·f(n)6g(n)6c2·f(n).

Joost-Pieter Katoen Datenstrukturen und Algorithmen 15/29

(56)

Asymptotische Effizienz Asymptotische Komplexitätsklassen

Die Klassen O,und Θ

Beziehung zwischen O,und Θ g ∈Θ(f) gdw.gO(f) und g ∈Ω(f).

O (f )

Funktionen, die nicht schneller alsf wachsen.

Θ(f )

Funktionen, die genauso schnell wie f wachsen.

Ω(f )

Funktionen, die nicht langsamer als f wachsen.

Lemma

g ∈Θ(f) wennlimn−→∞ g(n)

f(n) =c für ein0<c <∞.

Referenzen

ÄHNLICHE DOKUMENTE

I Die Partitionierung hat eine lineare Zeitkomplexität, d. eine Zerlegung im Verhältnis 9:1. alle Elemente im zu sortierenden Array E sind unterschiedlich 3.. Quicksort

Teile-und-Beherrsche Algorithmen (divide and conquer) teilen das Problem in mehrere Teilprobleme auf, die dem Ausgangsproblem ähneln, jedoch von kleinerer Größe

I Ein AVL-Baum ist ein balancierter BST, bei dem für jeden Knoten die Höhe der beiden Teilbäume höchstens um 1 differiert. I Bei AVL-Bäumen wird die Höhe der Teilbäume der

2 Offene Adressierung Lineares Sondieren Quadratisches Sondieren Doppeltes Hashing.. Effizienz der

Wir werden zeigen, dass ein Fluss in G genau dann maximal ist, wenn sein Restnetzwerk keine augmentierende Pfade enthält. Dazu benutzen

Die Worst-Case-Laufzeit ist abhängig vom Wert eines maximalen Flusses, da der Wert des Flusses im schlimmsten Fall sich jeweils nur um eine Einheit erhöht. Joost-Pieter

Splay Trees, Fibonacci Heaps, Google’s Pagerank Algorithm, Cocktail Sort, B-Bäume, Deutsch-Schorr-Waite Baumtraversierung, Bit-State Hashing, Binäre Entscheidungsdiagramme,

I Entweder das Gummiband liegt weiterhin an, oder der neue Punkt hebt das Gummiband vom vorigen Punkt weg.. Dann ist der vorige Punkt sicherlich nicht Teil der