Diskrete Mathematik I Vorlesung 9b AVL-Baum, Algorithmen
1 Groß-Oh-Notation Beispiele:
Inklusion O(1) O(log n) O(n) O(n log n) O(n2) O(n3) ... O(exp n)
3 Wie schnell wächst ... ? n log n n log n A 4x
„Nichts wächst so schnell ...“ 4 „Nichts wächst so schnell ...“ exp n n² n log n ... wie exponentiell!“ A 5x
Komplexität - Beispiele 5 Komplexität - Beispiele Wie schwierig ist Addition/Multiplikation bei Zahlen gegebenen Formats, z.B. double: a+b, a*b O(1) Vergleich: a < b O(1) Zuweisung: a = b O(1) Sprungbefehle: while(a > b) O(1) Zugriff auf array a[ i ]: O(1) i-te Element einer Liste (Länge n): O(n) Einfügen am Anfang einer Liste: O(1) Einfügen am Anfang eines Arrays: O(n)
Komplexität (Beispiele - worst case) 6 Komplexität (Beispiele - worst case) Suchen in einem Array (nicht sortiert): O(n) in einer Liste: O(n) in einem binären Suchbaum: O(n) in einem AVL-Baum: O(log n) Sortieren mit Quicksort: O(n²) mit AVL-Bäumen: O(n * log n) Suchen eines Punktes in einer geeigneten Struktur: O(log n) Aufbau einer geeigneten Struktur von Punkten: O(n * log n)