„Benutzer Diskussion:Matthäus Gdaniec“ – Versionsunterschied
| 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 | |
| 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
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.