Zum Inhalt springen

„Benutzer Diskussion:Matthäus Gdaniec“ – Versionsunterschied

Seiteninhalte werden in anderen Sprachen nicht unterstützt.
aus Wikipedia, der freien Enzyklopädie
Inhalt gelöscht Inhalt hinzugefügt
Zeile 8: Zeile 8:
! Bedeutung
! Bedeutung
! Anschauliche Erklärung
! Anschauliche Erklärung
! Beispiele
! Beispiele für Laufzeiten
|-
|-
|<math>f \in \mathcal{O}(1)</math>
|<math>f \in \mathcal{O}(1)</math>
Zeile 50: Zeile 50:
|
|
|}
|}



==Rechenbeispiele==
==Rechenbeispiele==

Version vom 14. Mai 2007, 09:40 Uhr

Beispiele

In den folgenden Beispielen ist stets als Funktion von zu verstehen.

Notation Bedeutung Anschauliche Erklärung Beispiele für Laufzeiten
ist konstant wächst nicht, wenn sich das Argument ändert. Addition

Erg = 1 + n

wächst logarithmisch wächst ungefähr um einen konstanten Betrag, wenn sich das Argument verdoppelt.

Merke: Die Basis des Logarithmus ist egal.

Binäre Suche
wächst wie die Wurzelfunktion wächst ungefähr auf das doppelte, wenn sich das Argument vervierfacht Primzahltest
wächst linear wächst ungefähr auf das doppelte, wenn sich das Argument verdoppelt. Addieren aller Zahlen des Arguments

For (i=0; i<n; i++) Erg+=i;

wächst quadratisch wächst ungefähr auf das vierfache, wenn sich das Argument verdoppelt Einfacher Sortieralgorithmus

Worst Case Bubblesort

wächst exponentiell wächst ungefähr auf das doppelte, wenn sich das Argument um eins erhöht
wächst faktoriell wächst ungefähr um das -fache, wenn sich das Argument von auf erhöht.

Rechenbeispiele

Zu der Notation (Obereren Schranke)


Gegeben sei eine Funktion f(x) mit f(x)= 3x³-2x²+x-9

Auf den 1. Blick sieht man das die Funktion exponentiell wächst, also muss f(x) ≥ sein für ein noch unbestimmtes n0 ( beliege Menge ≤ eigentliche Menge )

Es muss also zutreffen: f(x) ≤ für alle n≥n0

kann auch wie folgt geschrieben werden : c * g(x)

Also:

f(x) ≤ c * g(x) für alle n ≥ n0

Da diese Funktion exponentiell wächst und die höchste Potenz 3 ist muss g(x) = x³ sein.

3x³+2x²+x+9 ≤ c * x³ für alle n ≥ n0

Wahl c:

c ≥ 3, da f(x) = 3x³+2x²+x+9

Graphen

wähle c = 15 & n0=1 ( beide Werte zufällig gewählt )


Beweis:

3x³+2x²+x+9 ≤ 15 * x³ für alle n≥ n0 | -3x³

2x²+x+9 ≤ 12 * x³ für alle n≥ n0 | /x³

+ + ≤ 12 für alle n≥ n0


Da n0=1

2/1 + 1/1 + 9/1 ≤ 12

12 ≤ 12

Damit ist bewiesen, dass für alle n≥1 zutrifft.

Bei Werten >1 werden die Werte auf der linken Seite der Ungleichung immer kleiner und der Wert auf der rechten Seite bleibt konstant.