Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
faecher:informatik:oberstufe:algorithmen:big_o:start [23.07.2020 11:29] – ["Typische" Laufzeiten von Algorithmen] sbel | faecher:informatik:oberstufe:algorithmen:big_o:start [21.02.2024 10:28] (aktuell) – [Tabelle] Marco Kuemmel | ||
---|---|---|---|
Zeile 6: | Zeile 6: | ||
<WRAP center round info 95%> | <WRAP center round info 95%> | ||
- | Darum einigt man sich, dass man bei der Beurteilung von Algorithmen bevorzugt den schlechtesten Fall (" | + | Darum einigt man sich, dass man bei der Beurteilung von Algorithmen bevorzugt den schlechtesten Fall (" |
</ | </ | ||
- | Der schlechteste Fall bei der binären Suche dauert 7ms, also 15 mal so lang. Die binäre Suche ist also 15 mal schneller als die einfache | + | Der schlechteste Fall bei der binären Suche dauert 7ms, also nur 1/15 mal so lang. Die binäre Suche ist also 15 mal schneller als die einfache |
- | ^Zahl der Elemente | + | ^ Zahl der Elemente |
- | |100 | 100ms | 7ms | | + | | 100 | 100ms |
- | |10.000| 10 Sekunden | 14ms | | + | | 10.000 |
- | |1.000.000.000 | 11 Tage | 32ms | | + | | 1.000.000 |
Man sieht, dass die Laufzeiten **mit der Zunahme der Zahl der Elemente sehr unterschiedlich zunehmen**. | Man sieht, dass die Laufzeiten **mit der Zunahme der Zahl der Elemente sehr unterschiedlich zunehmen**. | ||
<WRAP center round info 95%> | <WRAP center round info 95%> | ||
- | Um diesen Umstand darzustellen, | + | Um diesen Umstand darzustellen, |
</ | </ | ||
Zeile 34: | Zeile 34: | ||
- Du zeichnest mit einem Stift nacheinander Kästchen für Kästchen auf das Blatt. | - Du zeichnest mit einem Stift nacheinander Kästchen für Kästchen auf das Blatt. | ||
- | - Du faltest das Blatt "über Kreuz" | + | - Du faltest das Blatt jeweils auf seine Hälfte und verwendest die Faltmarken als Ränder der Quadrate. |
- | * Überlege zunächst, | + | * Überlege zunächst, |
- | * Wieviele | + | * Wie viele Operationen benötigt man, um 32 oder 64 Kästchen zu erzeugen? |
* Wie effizient sind die beiden Vorgehensweisen in der Landau-Notation? | * Wie effizient sind die beiden Vorgehensweisen in der Landau-Notation? | ||
- | * Josephins | + | * Josephine |
====== " | ====== " | ||
- | * //O(log n) - "logarithnische | + | * //O(log n) - "logarithmische |
+ | * //O(n) - " | ||
+ | * //O(n*log n)//, ein schneller Sortieralgorithmus | ||
+ | * //O(n^2)//, ein langsamer Sortieralgorithmus | ||
+ | * //O(n!)//, ein sehr langsamer Algorithmus (Problem des Handlungsreisenden, | ||
+ | |||
+ | ====== Zusammenfassung ====== | ||
+ | |||
+ | <WRAP center round info 95%> | ||
+ | * Die Geschwindigkeit eines Algorithmus wird **nicht** als Zeit (z. B. in Sekunden) angegeben, sondern durch die Betrachtung der **Zunahme der Anzahl der Operationen**. | ||
+ | * Wir schauen, wie schnell die Laufzeit zunimmt, wenn die Größe der Eingabe zunimmt. | ||
+ | * Die Laufzeit wird in der Landau Notation aufgeschrieben | ||
+ | </ | ||
+ | |||
+ | ====== Aufgaben ====== | ||
+ | |||
+ | Gib die Laufzeit der folgenden Probleme in Landau-Notation an (das Telefonbuch ist aus Papier). | ||
+ | |||
+ | * Finde die Telefonnummer einer Person mit bekanntem Namen | ||
+ | * Finde den Namen einer Person anhand einer bekannten Telefonnummer. | ||
+ | * Es sollen alle Namen und Telefonnummern eingelesen werden. | ||
+ | * Es sollen alle Namen und Telefonnummern von Personen eingelesen werden, deren Namen mit A beginnt. |