Algorithmen-Effizienz und Laufzeit
Algorithm Efficiency
Der Aufwand eines Verfahrens misst sich in wesentlichen Schritten statt in Sekunden â unabhängig von der Maschine. Die O-Notation fasst das Wachstum: konstant, logarithmisch, linear, quadratisch, exponentiell; zwischen linearer und binärer Suche oder Bubble Sort und Mergesort liegt genau dieser Unterschied. Zwei Einsichten tragen: Die Laufzeitklasse ist eine Eigenschaft des Verfahrens, nicht des Computers â und zwischen n² und n¡log n liegt bei groĂen Eingaben der Unterschied zwischen Sekunden und Stunden.
Voraussetzungen (1)
ErmĂśglicht (1)
Ein Algorithmus braucht fĂźr jede EingabegrĂśĂe n etwa 3¡n Schritte. Welche O-Notation beschreibt sein Wachstum?
Ein Algorithmus, der immer gleich lang braucht, egal wie groĂ die Eingabe ist, hat die Laufzeit O(___).
Ordne die Laufzeiten von schnell (effizient) nach langsam.
Lineare Suche erfordert, dass die Liste sortiert ist.
Welche Laufzeit hat ein Algorithmus, der eine sortierte Liste mit binärer Suche durchsucht?
Ein Algorithmus mit O(n²) ist fĂźr groĂe Datenmengen effizienter als einer mit O(n log n).
Welche Laufzeit hat Bubble Sort im schlimmsten Fall?
Welcher Sortieralgorithmus hat eine durchschnittliche Laufzeit von O(n log n)?
Die lineare Suche sucht die Zahl 7. In welcher Liste ist das ihr Best Case?
Ein Algorithmus, der die Liste bei jedem Schritt halbiert, hat typischerweise eine Laufzeit von O(___).
Ein Programm mit Laufzeit O(n²) braucht fßr 1.000 Datensätze 1 Sekunde. Wie lange braucht es ungefähr fßr 1.000.000 Datensätze?
Ein Algorithmus mit Laufzeit O(2âż) braucht fĂźr n = 10 rund 1.000 Schritte. Wie viele Schritte braucht er fĂźr n = 20?
Quicksort hat im Average Case eine Laufzeit von O(n log n).
Merge Sort legt beim Sortieren von n Zahlen eine Hilfsliste mit n Plätzen an. Welche Speicherkomplexität hat er dadurch?