Die asymptotische Notation
|
|
- Carsten Esser
- vor 5 Jahren
- Abrufe
Transkript
1 Die asymptotische Notation f, g : N R 0 seien Funktionen, die einer Eingabelänge n N eine nicht-negative Laufzeit f (n), bzw. g(n) zuweisen. Asymptotik 1 / 9
2 Die asymptotische Notation f, g : N R 0 seien Funktionen, die einer Eingabelänge n N eine nicht-negative Laufzeit f (n), bzw. g(n) zuweisen. Die Groß-Oh Notation: f = O(g) Es gibt eine positive Konstante c > 0 und eine natürliche Zahl n 0 N, so dass f (n) c g(n) für alle n n 0 gilt: f wächst höchstens so schnell wie g. Asymptotik 1 / 9
3 Die asymptotische Notation f, g : N R 0 seien Funktionen, die einer Eingabelänge n N eine nicht-negative Laufzeit f (n), bzw. g(n) zuweisen. Die Groß-Oh Notation: f = O(g) Es gibt eine positive Konstante c > 0 und eine natürliche Zahl n 0 N, so dass f (n) c g(n) für alle n n 0 gilt: f wächst höchstens so schnell wie g. f = Ω(g) g = O(f ) : f wächst mindestens so schnell wie g. Asymptotik 1 / 9
4 Die asymptotische Notation f, g : N R 0 seien Funktionen, die einer Eingabelänge n N eine nicht-negative Laufzeit f (n), bzw. g(n) zuweisen. Die Groß-Oh Notation: f = O(g) Es gibt eine positive Konstante c > 0 und eine natürliche Zahl n 0 N, so dass f (n) c g(n) für alle n n 0 gilt: f wächst höchstens so schnell wie g. f = Ω(g) g = O(f ) : f wächst mindestens so schnell wie g. f = Θ(g) f = O(g) und g = O(f ) : f und g wachsen gleich schnell. Asymptotik 1 / 9
5 Die asymptotische Notation f, g : N R 0 seien Funktionen, die einer Eingabelänge n N eine nicht-negative Laufzeit f (n), bzw. g(n) zuweisen. Die Groß-Oh Notation: f = O(g) Es gibt eine positive Konstante c > 0 und eine natürliche Zahl n 0 N, so dass f (n) c g(n) für alle n n 0 gilt: f wächst höchstens so schnell wie g. f = Ω(g) g = O(f ) : f wächst mindestens so schnell wie g. f = Θ(g) f = O(g) und g = O(f ) : f und g wachsen gleich schnell. Die Klein-Oh Notation: f = o(g) lim f wächst langsamer als g. n f (n) g(n) = 0: Asymptotik 1 / 9
6 Wie schnell dominiert die Asymptotik? Annahme: Ein einfacher Befehl benötigt 10 9 Sekunden. Asymptotik 2 / 9
7 Wie schnell dominiert die Asymptotik? Annahme: Ein einfacher Befehl benötigt 10 9 Sekunden. n n 2 n 3 n 10 2 n n! }{{ 31 } }{{} }{{} mehr als mehr als mehr als Jahre Jahre 600 Jahre illion 10 }{{ 12 } 10 }{{ 18 } mehr als mehr als 15 Minuten 10 Jahre Asymptotik 2 / 9
8 Grenzwerte Grenzwerte sollten das Wachstum vorausssagen! Asymptotik 3 / 9
9 Grenzwerte Grenzwerte sollten das Wachstum vorausssagen! Der Grenzwert der Folge f (n) f (n) g(n) existiere und es sei lim n g(n) = c. Asymptotik 3 / 9
10 Grenzwerte Grenzwerte sollten das Wachstum vorausssagen! Der Grenzwert der Folge f (n) f (n) g(n) existiere und es sei lim n g(n) = c. Wenn c = 0, dann ist Asymptotik 3 / 9
11 Grenzwerte Grenzwerte sollten das Wachstum vorausssagen! Der Grenzwert der Folge f (n) f (n) g(n) existiere und es sei lim n g(n) = c. Wenn c = 0, dann ist f = o(g): f wächst langsamer als g. Asymptotik 3 / 9
12 Grenzwerte Grenzwerte sollten das Wachstum vorausssagen! Der Grenzwert der Folge f (n) f (n) g(n) existiere und es sei lim n g(n) = c. Wenn c = 0, dann ist f = o(g): f wächst langsamer als g. Wenn 0 < c <, dann ist Asymptotik 3 / 9
13 Grenzwerte Grenzwerte sollten das Wachstum vorausssagen! Der Grenzwert der Folge f (n) f (n) g(n) existiere und es sei lim n g(n) = c. Wenn c = 0, dann ist f = o(g): f wächst langsamer als g. Wenn 0 < c <, dann ist f = Θ(g): f und g wachsen gleich schnell. Asymptotik 3 / 9
14 Grenzwerte Grenzwerte sollten das Wachstum vorausssagen! Der Grenzwert der Folge f (n) f (n) g(n) existiere und es sei lim n g(n) = c. Wenn c = 0, dann ist f = o(g): f wächst langsamer als g. Wenn 0 < c <, dann ist f = Θ(g): f und g wachsen gleich schnell. Wenn 0 c <, dann ist Asymptotik 3 / 9
15 Grenzwerte Grenzwerte sollten das Wachstum vorausssagen! Der Grenzwert der Folge f (n) f (n) g(n) existiere und es sei lim n g(n) = c. Wenn c = 0, dann ist f = o(g): f wächst langsamer als g. Wenn 0 < c <, dann ist f = Θ(g): f und g wachsen gleich schnell. Wenn 0 c <, dann ist f = O(g): f wächst höchstens so schnell wie g. Asymptotik 3 / 9
16 Grenzwerte Grenzwerte sollten das Wachstum vorausssagen! Der Grenzwert der Folge f (n) f (n) g(n) existiere und es sei lim n g(n) = c. Wenn c = 0, dann ist f = o(g): f wächst langsamer als g. Wenn 0 < c <, dann ist f = Θ(g): f und g wachsen gleich schnell. Wenn 0 c <, dann ist f = O(g): f wächst höchstens so schnell wie g. Wenn 0 < c, dann ist Asymptotik 3 / 9
17 Grenzwerte Grenzwerte sollten das Wachstum vorausssagen! Der Grenzwert der Folge f (n) f (n) g(n) existiere und es sei lim n g(n) = c. Wenn c = 0, dann ist f = o(g): f wächst langsamer als g. Wenn 0 < c <, dann ist f = Θ(g): f und g wachsen gleich schnell. Wenn 0 c <, dann ist f = O(g): f wächst höchstens so schnell wie g. Wenn 0 < c, dann ist f = Ω(g): f wächst mindestens so schnell wie g. Asymptotik 3 / 9
18 Die Regel von de l Hospital f (n) lim n g(n) = lim f n g (n), falls der letzte Grenzwert existiert und falls lim f (n) = lim g(n) {0, }. n n Asymptotik 4 / 9
19 Die Regel von de l Hospital f (n) lim n g(n) = lim f n g (n), falls der letzte Grenzwert existiert und falls lim f (n) = lim g(n) {0, }. n n log 2 n = o(n). Warum? lim log n 2 n = lim n =, n 2 der Grenzwert lim (n) = lim log n n (log 2 e ln(n)) n n existiert und log lim 2 (n) n n = 0 folgt mit der Regel von de l Hospital. = lim n log 2 e 1/n 1 = 0 Asymptotik 4 / 9
20 Die Regel von de l Hospital f (n) lim n g(n) = lim f n g (n), falls der letzte Grenzwert existiert und falls lim f (n) = lim g(n) {0, }. n n log 2 n = o(n). Warum? lim log n 2 n = lim n =, n 2 der Grenzwert lim (n) = lim log n n (log 2 e ln(n)) n n existiert und log lim 2 (n) n n = 0 folgt mit der Regel von de l Hospital. Weitere Anwendungen: log 2 log 2 n = o(log 2 n). = lim n log 2 e 1/n 1 = 0 Asymptotik 4 / 9
21 Die Regel von de l Hospital f (n) lim n g(n) = lim f n g (n), falls der letzte Grenzwert existiert und falls lim f (n) = lim g(n) {0, }. n n log 2 n = o(n). Warum? lim log n 2 n = lim n =, n 2 der Grenzwert lim (n) = lim log n n (log 2 e ln(n)) n n existiert und log lim 2 (n) n n = 0 folgt mit der Regel von de l Hospital. Weitere Anwendungen: log 2 log 2 n = o(log 2 n). log 2 log 2 log 2 n = o(log 2 log 2 n). = lim n log 2 e 1/n 1 = 0 Asymptotik 4 / 9
22 Die Regel von de l Hospital f (n) lim n g(n) = lim f n g (n), falls der letzte Grenzwert existiert und falls lim f (n) = lim g(n) {0, }. n n log 2 n = o(n). Warum? lim log n 2 n = lim n =, n 2 der Grenzwert lim (n) = lim log n n (log 2 e ln(n)) n n existiert und log lim 2 (n) n n = 0 folgt mit der Regel von de l Hospital. Weitere Anwendungen: log 2 log 2 n = o(log 2 n). log 2 log 2 log 2 n = o(log 2 log 2 n). (k+1) log 2 n = o(log (k) 2 n) für jedes k. = lim n log 2 e 1/n 1 = 0 Asymptotik 4 / 9
23 Eine Wachstums-Hierarchie f 1 (n) = 1, dann ist f 1 = o(log 2 log 2 n), lim n log 2 log 2 n =. Asymptotik Eine Wachstums-Hierarchie 5 / 9
24 Eine Wachstums-Hierarchie f 1 (n) = 1, dann ist f 1 = o(log 2 log 2 n), lim n log 2 log 2 n =. log 2 log 2 n = o(log 2 n), wende de l Hospital an. Asymptotik Eine Wachstums-Hierarchie 5 / 9
25 Eine Wachstums-Hierarchie f 1 (n) = 1, dann ist f 1 = o(log 2 log 2 n), lim n log 2 log 2 n =. log 2 log 2 n = o(log 2 n), wende de l Hospital an. log 2 n = Θ(log a n) für jedes a > 1, log 2 n = log 2 a log a n. Asymptotik Eine Wachstums-Hierarchie 5 / 9
26 Eine Wachstums-Hierarchie f 1 (n) = 1, dann ist f 1 = o(log 2 log 2 n), lim n log 2 log 2 n =. log 2 log 2 n = o(log 2 n), wende de l Hospital an. log 2 n = Θ(log a n) für jedes a > 1, log 2 n = log 2 a log a n. log 2 n = o(n 1/k ) für jedes k > 1, wende de l Hospital an. Asymptotik Eine Wachstums-Hierarchie 5 / 9
27 Eine Wachstums-Hierarchie f 1 (n) = 1, dann ist f 1 = o(log 2 log 2 n), lim n log 2 log 2 n =. log 2 log 2 n = o(log 2 n), wende de l Hospital an. log 2 n = Θ(log a n) für jedes a > 1, log 2 n = log 2 a log a n. log 2 n = o(n 1/k ) für jedes k > 1, wende de l Hospital an. n 1/k = o(n) und n = o(n log 2 n) für jedes k > 1, lim n n 1/k n = lim n 1 n 1 1/k = 0 und lim n log 2 n =. Asymptotik Eine Wachstums-Hierarchie 5 / 9
28 Eine Wachstums-Hierarchie f 1 (n) = 1, dann ist f 1 = o(log 2 log 2 n), lim n log 2 log 2 n =. log 2 log 2 n = o(log 2 n), wende de l Hospital an. log 2 n = Θ(log a n) für jedes a > 1, log 2 n = log 2 a log a n. log 2 n = o(n 1/k ) für jedes k > 1, wende de l Hospital an. n 1/k = o(n) und n = o(n log 2 n) für jedes k > 1, lim n n 1/k n = lim n 1 n 1 1/k = 0 und lim n log 2 n =. n log 2 n = o(n k ) für jedes k > 1. Asymptotik Eine Wachstums-Hierarchie 5 / 9
29 Eine Wachstums-Hierarchie f 1 (n) = 1, dann ist f 1 = o(log 2 log 2 n), lim n log 2 log 2 n =. log 2 log 2 n = o(log 2 n), wende de l Hospital an. log 2 n = Θ(log a n) für jedes a > 1, log 2 n = log 2 a log a n. log 2 n = o(n 1/k ) für jedes k > 1, wende de l Hospital an. n 1/k = o(n) und n = o(n log 2 n) für jedes k > 1, lim n n 1/k n = lim n 1 n 1 1/k = 0 und lim n log 2 n =. n log 2 n = o(n k ) für jedes k > 1. n k = o(b n ) für jedes b > 1, n k = b k log b n und Asymptotik Eine Wachstums-Hierarchie 5 / 9
30 Eine Wachstums-Hierarchie f 1 (n) = 1, dann ist f 1 = o(log 2 log 2 n), lim n log 2 log 2 n =. log 2 log 2 n = o(log 2 n), wende de l Hospital an. log 2 n = Θ(log a n) für jedes a > 1, log 2 n = log 2 a log a n. log 2 n = o(n 1/k ) für jedes k > 1, wende de l Hospital an. n 1/k = o(n) und n = o(n log 2 n) für jedes k > 1, lim n n 1/k n = lim n 1 n 1 1/k = 0 und lim n log 2 n =. n log 2 n = o(n k ) für jedes k > 1. n k = o(b n ) für jedes b > 1, n k = b k log b n und n lim k b n b = lim k log b n n n b = lim n n b k log b n n = 0. Asymptotik Eine Wachstums-Hierarchie 5 / 9
31 Eine Wachstums-Hierarchie f 1 (n) = 1, dann ist f 1 = o(log 2 log 2 n), lim n log 2 log 2 n =. log 2 log 2 n = o(log 2 n), wende de l Hospital an. log 2 n = Θ(log a n) für jedes a > 1, log 2 n = log 2 a log a n. log 2 n = o(n 1/k ) für jedes k > 1, wende de l Hospital an. n 1/k = o(n) und n = o(n log 2 n) für jedes k > 1, lim n n 1/k n = lim n 1 n 1 1/k = 0 und lim n log 2 n =. n log 2 n = o(n k ) für jedes k > 1. n k = o(b n ) für jedes b > 1, n k = b k log b n und n lim k b n b = lim k log b n n n b = lim n n b k log b n n = 0. Und b n = o(n!) für jedes b > 1. Asymptotik Eine Wachstums-Hierarchie 5 / 9
32 For-und While-Schleifen for (i=1; i < n ; i++) vier einfache Anweisungen; Laufzeit = Laufzeitbestimmung 6 / 9
33 For-und While-Schleifen for (i=1; i < n ; i++) vier einfache Anweisungen; Laufzeit = O(n). Laufzeitbestimmung 6 / 9
34 For-und While-Schleifen for (i=1; i < n ; i++) vier einfache Anweisungen; Laufzeit = O(n). for (i=1; i < n ; i++) for (j=i+1; j < n ; j++) zwei einfache Anweisungen; Laufzeit = Laufzeitbestimmung 6 / 9
35 For-und While-Schleifen for (i=1; i < n ; i++) vier einfache Anweisungen; Laufzeit = O(n). for (i=1; i < n ; i++) for (j=i+1; j < n ; j++) zwei einfache Anweisungen; Laufzeit = O(n 2 ). Laufzeitbestimmung 6 / 9
36 For-und While-Schleifen for (i=1; i < n ; i++) vier einfache Anweisungen; Laufzeit = O(n). for (i=1; i < n ; i++) for (j=i+1; j < n ; j++) zwei einfache Anweisungen; Laufzeit = O(n 2 ). while (n >1) n = 3n/4; Laufzeit = Laufzeitbestimmung 6 / 9
37 For-und While-Schleifen for (i=1; i < n ; i++) vier einfache Anweisungen; Laufzeit = O(n). for (i=1; i < n ; i++) for (j=i+1; j < n ; j++) zwei einfache Anweisungen; Laufzeit = O(n 2 ). while (n >1) n = 3n/4; Laufzeit = O(log 2 n). Laufzeitbestimmung 6 / 9
38 For-und While-Schleifen for (i=1; i < n ; i++) vier einfache Anweisungen; Laufzeit = O(n). for (i=1; i < n ; i++) for (j=i+1; j < n ; j++) zwei einfache Anweisungen; Laufzeit = O(n 2 ). while (n >1) n = 3n/4; Laufzeit = O(log 2 n). while (n >1) {for (i=1; i < n; i++) {drei einfache Anweisungen;} n = 4n/5; } Laufzeit = Laufzeitbestimmung 6 / 9
39 For-und While-Schleifen for (i=1; i < n ; i++) vier einfache Anweisungen; Laufzeit = O(n). for (i=1; i < n ; i++) for (j=i+1; j < n ; j++) zwei einfache Anweisungen; Laufzeit = O(n 2 ). while (n >1) n = 3n/4; Laufzeit = O(log 2 n). while (n >1) {for (i=1; i < n; i++) {drei einfache Anweisungen;} n = 4n/5; } Laufzeit = O(n). Laufzeitbestimmung 6 / 9
40 Anwendungen des Sortierens Wann soll was sortiert werden? Laufzeitbestimmung 7 / 9
41 Anwendungen des Sortierens Wann soll was sortiert werden? 1 Wie bestimmt man den Durchschnitt von n Intervallen [a i, b i ] möglichst schnell? Laufzeitbestimmung 7 / 9
42 Anwendungen des Sortierens Wann soll was sortiert werden? 1 Wie bestimmt man den Durchschnitt von n Intervallen [a i, b i ] möglichst schnell? 2 Wie bestimmt man den Durchschnitt von n Rechtecken [a i, b i ] [c i, d i ] möglichst schnell? Laufzeitbestimmung 7 / 9
43 Anwendungen des Sortierens Wann soll was sortiert werden? 1 Wie bestimmt man den Durchschnitt von n Intervallen [a i, b i ] möglichst schnell? 2 Wie bestimmt man den Durchschnitt von n Rechtecken [a i, b i ] [c i, d i ] möglichst schnell? 3 Wir sollen die Vereinigung von n Intervallen [a i, b i ] möglichst schnell als eine Vereinigung von disjunkten Intervallen darstellen. Wie? Laufzeitbestimmung 7 / 9
44 Anwendungen des Sortierens Wann soll was sortiert werden? 1 Wie bestimmt man den Durchschnitt von n Intervallen [a i, b i ] möglichst schnell? 2 Wie bestimmt man den Durchschnitt von n Rechtecken [a i, b i ] [c i, d i ] möglichst schnell? 3 Wir sollen die Vereinigung von n Intervallen [a i, b i ] möglichst schnell als eine Vereinigung von disjunkten Intervallen darstellen. Wie? 4 Die k größten Zahlen aus einem unsortierten Array A sollen bestimmt werden. Sollte man A sortieren oder einen Heap aus A bauen und k mal Delete_Max anwenden oder...? Laufzeitbestimmung 7 / 9
45 Anwendungen des Sortierens Wann soll was sortiert werden? 1 Wie bestimmt man den Durchschnitt von n Intervallen [a i, b i ] möglichst schnell? 2 Wie bestimmt man den Durchschnitt von n Rechtecken [a i, b i ] [c i, d i ] möglichst schnell? 3 Wir sollen die Vereinigung von n Intervallen [a i, b i ] möglichst schnell als eine Vereinigung von disjunkten Intervallen darstellen. Wie? 4 Die k größten Zahlen aus einem unsortierten Array A sollen bestimmt werden. Sollte man A sortieren oder einen Heap aus A bauen und k mal Delete_Max anwenden oder...? 5 Wir sollen feststellen, ob alle Schlüssel im Array A auch im Array B vorkommen. Wie? Laufzeitbestimmung 7 / 9
46 Wasserkrüge Gegeben sind n blaue und rote Wasserkrüge, wobei - alle blauen Krüge unterschiedliche Kapazität besitzen - und es zu jedem blauen Krug genau einen roten Krug gleicher Kapazität gibt. Finde alle Paare blauer und roter Krüge gleicher Kapazität mit möglichst wenigen Vergleichen. Laufzeitbestimmung 8 / 9
47 Wasserkrüge Gegeben sind n blaue und rote Wasserkrüge, wobei - alle blauen Krüge unterschiedliche Kapazität besitzen - und es zu jedem blauen Krug genau einen roten Krug gleicher Kapazität gibt. Finde alle Paare blauer und roter Krüge gleicher Kapazität mit möglichst wenigen Vergleichen. Eine Vergleichsoperation: Fülle einen blauen Krug b mit Wasser und entleere Krug b in einen roten Krug r. Wieviele Vergleichsoperationen sind ausreichend? Laufzeitbestimmung 8 / 9
48 Sortieren: Zusammenfassung Quicksort: Ein schnelles in place Sortierverfahren. Quicksort ist ideal, wenn alle Daten in den Hauptspeicher passen. Zusammenfassung: Sortieren 9 / 9
49 Sortieren: Zusammenfassung Quicksort: Ein schnelles in place Sortierverfahren. Quicksort ist ideal, wenn alle Daten in den Hauptspeicher passen. Die zufällige Pivotwahl garantiert, dass jede Folge von n Zahlen in erwarteter Zeit O(n log 2 n) sortiert wird. Zusammenfassung: Sortieren 9 / 9
50 Sortieren: Zusammenfassung Quicksort: Ein schnelles in place Sortierverfahren. Quicksort ist ideal, wenn alle Daten in den Hauptspeicher passen. Die zufällige Pivotwahl garantiert, dass jede Folge von n Zahlen in erwarteter Zeit O(n log 2 n) sortiert wird. Eine Quicksort-Variante löst das Auswahlproblem in Zeit O(n). Zusammenfassung: Sortieren 9 / 9
51 Sortieren: Zusammenfassung Quicksort: Ein schnelles in place Sortierverfahren. Quicksort ist ideal, wenn alle Daten in den Hauptspeicher passen. Die zufällige Pivotwahl garantiert, dass jede Folge von n Zahlen in erwarteter Zeit O(n log 2 n) sortiert wird. Eine Quicksort-Variante löst das Auswahlproblem in Zeit O(n). Mergesort: Sortiert jede Folge von n Zahlen in worst case Zeit O(n log2 n). Zusammenfassung: Sortieren 9 / 9
52 Sortieren: Zusammenfassung Quicksort: Ein schnelles in place Sortierverfahren. Quicksort ist ideal, wenn alle Daten in den Hauptspeicher passen. Die zufällige Pivotwahl garantiert, dass jede Folge von n Zahlen in erwarteter Zeit O(n log 2 n) sortiert wird. Eine Quicksort-Variante löst das Auswahlproblem in Zeit O(n). Mergesort: Sortiert jede Folge von n Zahlen in worst case Zeit O(n log2 n). Eine nicht-rekursive Variante sortiert n auf einem Externspeicher gespeicherte Zahlen mit höchstens O( n B log n M B M ) Speicherzugriffen, solange B Zahlen in einem Schwung vom Externspeicher in den Hauptspeicher der Größe M gebracht werden können. Zusammenfassung: Sortieren 9 / 9
53 Sortieren: Zusammenfassung Quicksort: Ein schnelles in place Sortierverfahren. Quicksort ist ideal, wenn alle Daten in den Hauptspeicher passen. Die zufällige Pivotwahl garantiert, dass jede Folge von n Zahlen in erwarteter Zeit O(n log 2 n) sortiert wird. Eine Quicksort-Variante löst das Auswahlproblem in Zeit O(n). Mergesort: Sortiert jede Folge von n Zahlen in worst case Zeit O(n log2 n). Eine nicht-rekursive Variante sortiert n auf einem Externspeicher gespeicherte Zahlen mit höchstens O( n B log n M B M ) Speicherzugriffen, solange B Zahlen in einem Schwung vom Externspeicher in den Hauptspeicher der Größe M gebracht werden können. Jedes vergleichsorientierte Sortierverfahren benötigt mindestens Ω(n log 2 n) Vergleiche, aber Zusammenfassung: Sortieren 9 / 9
54 Sortieren: Zusammenfassung Quicksort: Ein schnelles in place Sortierverfahren. Quicksort ist ideal, wenn alle Daten in den Hauptspeicher passen. Die zufällige Pivotwahl garantiert, dass jede Folge von n Zahlen in erwarteter Zeit O(n log 2 n) sortiert wird. Eine Quicksort-Variante löst das Auswahlproblem in Zeit O(n). Mergesort: Sortiert jede Folge von n Zahlen in worst case Zeit O(n log2 n). Eine nicht-rekursive Variante sortiert n auf einem Externspeicher gespeicherte Zahlen mit höchstens O( n B log n M B M ) Speicherzugriffen, solange B Zahlen in einem Schwung vom Externspeicher in den Hauptspeicher der Größe M gebracht werden können. Jedes vergleichsorientierte Sortierverfahren benötigt mindestens Ω(n log 2 n) Vergleiche, aber Radixsort sortiert n Zahlen aus der Menge {0,..., n L 1} in Zeit O(n L) ohne irgendeinen Vergleich auszuführen. Zusammenfassung: Sortieren 9 / 9
Das O-Tutorial. 1 Definition von O, Ω, Θ, o und ω
Definition von O, Ω, Θ, o und ω Das O-Tutorial Seien f und g zwei Funktionen von N nach R 0. Hierbei bezeichne R 0 die nicht-negativen reellen Zahlen. Die Funktionsmengen O, Ω, Θ, o und ω sind wie folgt
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen A7. Sortieren III Marcel Lüthi and Gabriele Röger Universität Basel 14. März 2018 Untere Schranke Sortierverfahren Sortieren Vergleichsbasierte Verfahren Nicht vergleichsbasierte
MehrAsymptotik und Laufzeitanalyse
und Vorkurs Informatik SoSe13 08. April 2013 und Algorithmen = Rechenvorschriften Wir fragen uns: Ist der Algorithmus effizient? welcher Algorithmus löst das Problem schneller? wie lange braucht der Algorithmus
MehrA7.1 Untere Schranke. Algorithmen und Datenstrukturen. A7.1 Untere Schranke. Algorithmen und Datenstrukturen. A7.2 Quicksort. A7.
Algorithmen und Datenstrukturen 14. März 2018 A7. III Algorithmen und Datenstrukturen A7. III Marcel Lüthi and Gabriele Röger Universität Basel 14. März 2018 A7.1 Untere Schranke A7.2 Quicksort A7.3 Heapsort
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2016 Patrick Schäfer, Humboldt-Universität zu Berlin Organisation Vorlesung: Montag 11 13 Uhr Marius Kloft RUD 26, 0 115 Mittwoch 11 13 Uhr Marius Kloft
MehrInformatik II, SS 2016
Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 3 (27.4.2014) O-Notation, Asymptotische Analyse, Sortieren III Algorithmen und Komplexität Selection Sort Algorithmus SelectionSort (informell):
MehrDatenstrukturen: Mathematische Grundlagen. 26. Juli / 27
Datenstrukturen: Mathematische Grundlagen 26. Juli 2015 1 / 27 Asymptotik Die Groß-Oh Notation: f = O(g) Es gibt eine positive Konstante c > 0 und eine natürliche Zahl n 0 N, so dass f (n) c g(n) für alle
MehrProgrammieren und Problemlösen
Dennis Komm Programmieren und Problemlösen Komplexität von Algorithmen Frühling 2019 27. Februar 2019 Komplexität von Algorithmen Aufgabe Primzahltest Schreibe ein Programm, das eine ganze Zahl x als Eingabe
MehrHeapsort / 1 A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8]
Heapsort / 1 Heap: Ein Array heißt Heap, falls A [i] A [2i] und A[i] A [2i + 1] (für 2i n bzw. 2i + 1 n) gilt. Beispiel: A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8] Heapsort / 2 Darstellung eines Heaps als
MehrAlgorithmen und Datenstrukturen
1 Algorithmen und Datenstrukturen Wintersemester 2014/15 3. Vorlesung Laufzeitanalyse Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Recap: Diskutieren Sie mit Ihrer NachbarIn! 1. 2. 3. Was sind
MehrA6.1 Logarithmus. Algorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. A6.1 Logarithmus. A6.2 Landau-Notation. A6.
Algorithmen und Datenstrukturen 8. März 2018 A6. Laufzeitanalyse: Logarithmus and Landau-Symbole Algorithmen und Datenstrukturen A6. Laufzeitanalyse: Logarithmus and Landau-Symbole Marcel Lüthi and Gabriele
MehrDatenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Untere Schranken für Sortieren Sortieren mit linearem Aufwand Mediane und Ranggrössen 2 Wie schnell können wir sortieren?
MehrAlgorithmen und Datenstrukturen (für ET/IT)
Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2017 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München Programm heute 1 Einführung 2 Grundlagen von Algorithmen
MehrAlgorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2012 / 2013 Vorlesung 3, Donnerstag 7.
Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2012 / 2013 Vorlesung 3, Donnerstag 7. November 2013 (O-Notation, Theta, Omega) Junior-Prof. Dr. Olaf Ronneberger
MehrKapitel 2. Weitere Beispiele Effizienter Algorithmen
Kapitel 2 Weitere Beispiele Effizienter Algorithmen Sequentielle Suche Gegeben: Array a[1..n] Suche in a nach Element x Ohne weitere Zusatzinformationen: Sequentielle Suche a[1] a[2] a[3] Laufzeit: n Schritte
MehrGrundlagen: Algorithmen und Datenstrukturen
Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2010
MehrAlgorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 3, Donnerstag 6.
Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 3, Donnerstag 6. November 2014 (O-Notation, Theta, Omega) Junior-Prof. Dr. Olaf Ronneberger
MehrSortieren II / HeapSort Heaps
Organisatorisches VL-07: Sortieren II: HeapSort (Datenstrukturen und Algorithmen, SS 2017) Vorlesung: Gerhard Woeginger (Zimmer 4024 im E1) Email: dsal-i1@algo.rwth-aachen.de Webseite: http://algo.rwth-aachen.de/lehre/ss17/dsa.php
MehrKlausur Algorithmen und Datenstrukturen
Technische Universität Braunschweig Sommersemester 2018 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Christian Rieck Arne Schmidt Klausur Algorithmen
MehrÜbersicht. Datenstrukturen und Algorithmen. Laufzeit von Algorithmen. Übersicht. Vorlesung 2: Asymptotische Effizienz (K3) Begründung Grenzwerte
Übersicht Datenstrukturen und Algorithmen Vorlesung 2: (K3) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://moves.rwth-aachen.de/teaching/ss-15/dsal/ 10.
Mehr2. Effizienz von Algorithmen
Effizienz von Algorithmen 2. Effizienz von Algorithmen Effizienz von Algorithmen, Random Access Machine Modell, Funktionenwachstum, Asymptotik [Cormen et al, Kap. 2.2,3,4.2-4.4 Ottman/Widmayer, Kap. 1.1]
Mehr4. Sortieren 4.1 Vorbemerkungen
. Seite 1/21 4. Sortieren 4.1 Vorbemerkungen allgemeines Sortierproblem spezielle Sortierprobleme Ordne a 1,..., a n so um, dass Elemente in aufsteigender Reihenfolge stehen. Die a i stammen aus vollständig
MehrEinführung in die Informatik 2
Einführung in die Informatik 2 Mathematische Grundbegriffe Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag, 12:30-14:00 Uhr,
MehrTheoretische Informatik 1. Wintersemester 2012/13. Herzlich willkommen!
Theoretische Informatik 1 Wintersemester 2012/13 Herzlich willkommen! 1 / 75 Worum gehts? (1/2) Was ist machbar? Welche algorithmischen Probleme kann man mit welchen Methoden effizient lösen? Effizient
MehrKlausur Algorithmen und Datenstrukturen
Technische Universität Braunschweig Wintersemester 2013/2014 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Stephan Friedrichs Klausur Algorithmen und
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 017 Marc Bux, Humboldt-Universität zu Berlin Agenda 1. Vorrechnen von Aufgabenblatt 1. Wohlgeformte Klammerausdrücke 3. Teile und Herrsche Agenda 1.
MehrÜbungen zu Algorithmentechnik WS 09/10
Übungen zu Algorithmentechnik WS 09/10 1. Kurzsitzung Thomas Pajor 22. Oktober 2009 1/ 25 Eure Übungsleiter Tanja Hartmann t.hartmann@kit.edu Raum 306, Gebäude 50.34 Thomas Pajor pajor@kit.edu Raum 322,
MehrInformatik II, SS 2018
Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 2 (23.4.2018) Sortieren II, Asymptotische Analyse, O-Notation Algorithmen und Komplexität Laufzeit Zeitmessung SelectionSort n 2 Laufzeit/n
Mehrf 1 (n) = log(n) + n 2 n 5 f 2 (n) = n 3 + n 2 f 3 (n) = log(n 2 ) f 4 (n) = n n f 5 (n) = (log(n)) 2
Prof. aa Dr. E. Ábrahám Datenstrukturen und Algorithmen SS Lösung - Präsenzübung.05.0 F. Corzilius, S. Schupp, T. Ströder Aufgabe (Asymptotische Komplexität): (6 + 0 + 6 = Punkte) a) Geben Sie eine formale
MehrKlausur Algorithmen und Datenstrukturen
Technische Universität Braunschweig Wintersemester 2017/2018 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Christian Rieck Arne Schmidt Klausur Algorithmen
MehrAbschnitt 7: Komplexität von imperativen Programmen
Abschnitt 7: Komplexität von imperativen Programmen 7. Komplexität von imperativen Programmen 7 Komplexität von imperativen Programmen Einf. Progr. (WS 08/09) 399 Ressourcenbedarf von Algorithmen Algorithmen
Mehr14. Sortieren II Heapsort. Heapsort. [Max-]Heap 7. Heapsort, Quicksort, Mergesort. Binärer Baum mit folgenden Eigenschaften
Heapsort, Quicksort, Mergesort 14. Sortieren II 14.1 Heapsort [Ottman/Widmayer, Kap. 2.3, Cormen et al, Kap. 6] 397 398 Heapsort [Max-]Heap 7 Inspiration von Selectsort: Schnelles Einfügen Binärer Baum
Mehr3.3 Laufzeit von Programmen
3.3 Laufzeit von Programmen Die Laufzeit eines Programmes T(n) messen wir als die Zahl der Befehle, die für die Eingabe n abgearbeitet werden Betrachten wir unser Programm zur Berechnung von Zweierpotenzen,
MehrTheoretische Informatik 1 1. Wintersemester 2017/18. Herzlich willkommen!
Theoretische Informatik 1 1 Wintersemester 2017/18 Herzlich willkommen! 1 basierend auf Folien von Prof. Georg Schnitger und Prof. Ulrich Meyer 2. November 2017 1 / 90 Wer ist wer? Wir: Professur für Algorithmen
MehrDatenstrukturen 1. Herzlich willkommen!
Datenstrukturen 1 Sommersemester 2017 Herzlich willkommen! 1 Basierend auf Folien von Prof. Georg Schnitger, Prof. Ulrich Meyer, Dr. Iganz Rutter 1 / 73 Wer ist wer? Wir: Martin Hoefer (Vorlesungen) R
MehrNotation für das asymptotische Verhalten von Funktionen
Vorbemerkungen: Notation für das asymptotische Verhalten von Funktionen 1. Aussagen über die Komplexität von Algorithmen und von Problemen sollen (in der Regel) unabhängig von speziellen Maschinenmodellen
MehrDatenstrukturen. Sommersemester Herzlich willkommen!!!!!
Datenstrukturen Sommersemester 2015 Herzlich willkommen!!!!! 1 / 77 Worum geht s? Einführung 2 / 77 Abstrakte Datentypen und Datenstrukturen Ein abstrakten Datentyp ist eine Sammlung von Operationen (auf
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2017 Marc Bux, Humboldt-Universität zu Berlin Organisatorisches Vorlesung: Montag 11 13 Uhr Ulf Leser RUD 26, 0 115 Mittwoch 11 13 Uhr Ulf Leser RUD
MehrÜbung zu Algorithmen und Datenstrukturen (für ET/IT)
Übung zu Algorithmen und Datenstrukturen (für ET/IT) Wintersemester 2012/13 Jakob Vogel Computer-Aided Medical Procedures Technische Universität München Komplexität von Programmen Laufzeit kann näherungsweise
MehrDas Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle
119 4. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Exponentielle Suche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.1-3,2.2-3,2.3-5] 120 Das Suchproblem Gegeben
MehrDas Suchproblem 4. Suchen Das Auswahlproblem Suche in Array
Das Suchproblem Gegeben. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Exponentielle Suche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.-3,2.2-3,2.3-] Menge
MehrWS 2009/10. Diskrete Strukturen
WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910
Mehr2.2 Allgemeine (vergleichsbasierte) Sortierverfahren
. Allgemeine (vergleichsbasierte) Sortierverfahren Vergleichsbaum: Der Aufbau des Verbleichsbaum ist für jeden Algorithmus und jede Eingabelänge n gleich. Jede Permutation der Eingabe, muss zu einem anderen
Mehr8. Sortieren II. 8.1 Heapsort. Heapsort. [Max-]Heap 6. Heapsort, Quicksort, Mergesort. Binärer Baum mit folgenden Eigenschaften
Heapsort, Quicksort, Mergesort 8. Sortieren II 8.1 Heapsort [Ottman/Widmayer, Kap. 2.3, Cormen et al, Kap. 6] 9 210 Heapsort [Max-]Heap 6 Inspiration von Selectsort: Schnelles Einfügen Binärer Baum mit
MehrHeapsort, Quicksort, Mergesort. 8. Sortieren II
209 Heapsort, Quicksort, Mergesort 8. Sortieren II 210 8.1 Heapsort [Ottman/Widmayer, Kap. 2.3, Cormen et al, Kap. 6] 211 Heapsort Inspiration von Selectsort: Schnelles Einfügen Inspiration von Insertionsort:
MehrAlgorithmen und Datenstrukturen Kapitel 2: Korrektheit von Algorithmen und Laufzeitanalyse rekursiver Algorithmen (mittels Rekurrenzgleichungen)
Algorithmen und Datenstrukturen Kapitel 2: und Laufzeitanalyse rekursiver Algorithmen (mittels Rekurrenzgleichungen) Frank Heitmann heitmann@informatik.uni-hamburg.de 21. Oktober 2015 Frank Heitmann heitmann@informatik.uni-hamburg.de
MehrDas Suchproblem 4. Suchen Das Auswahlproblem Suche in Array
Das Suchproblem Gegeben. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.-3,2.2-3,2.3-] Menge von Datensätzen. Beispiele
MehrAlgorithmen 1 Tutorium
Algorithmen 1 Tutorium Tutorium 13 Misch Sadler 18. Juli 2011 INHALT: VIELES Übersicht 1 Dynamische Programmierung 2 Wiederholung 3 Klausuraufgaben 4 Ende Misch Sadler Algo 1 Tut 18. Juli 2011 2/21 Übersicht
MehrAlgorithmen und Datenstrukturen Effizienz und Funktionenklassen
Algorithmen und Datenstrukturen Effizienz und Funktionenklassen Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Lernziele der Vorlesung Algorithmen Sortieren,
MehrKomplexität von Algorithmen:
Komplexität von Algorithmen: Ansatz: Beschreiben/erfassen der Komplexität über eine Funktion, zur Abschätzung des Rechenaufwandes abhängig von der Größe der Eingabe n Uns interessiert: (1) Wie sieht eine
MehrAlgorithmen und Datenstrukturen Kapitel 2: Korrektheit von Algorithmen und Laufzeitanalyse rekursiver Algorithmen (mittels Rekurrenzgleichungen)
Algorithmen und Datenstrukturen Kapitel 2: und Laufzeitanalyse rekursiver Algorithmen (mittels ) Frank Heitmann heitmann@informatik.uni-hamburg.de 21. Oktober 2015 Frank Heitmann heitmann@informatik.uni-hamburg.de
MehrDas Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle
122 4. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.1-3,2.2-3,2.3-5] 123 Das Suchproblem Gegeben Menge von Datensätzen.
MehrAlgorithmen und Datenstrukturen 1 Kapitel 5
Algorithmen und Datenstrukturen 1 Kapitel 5 Technische Fakultät robert@techfak.uni-bielefeld.de Vorlesung, U. Bielefeld, Winter 2005/2006 Kapitel 5: Effizienz von Algorithmen 5.1 Vorüberlegungen Nicht
Mehr7. Sortieren Lernziele. 7. Sortieren
7. Sortieren Lernziele 7. Sortieren Lernziele: Die wichtigsten Sortierverfahren kennen und einsetzen können, Aufwand und weitere Eigenschaften der Sortierverfahren kennen, das Problemlösungsparadigma Teile-und-herrsche
MehrPraktikum Algorithmische Anwendungen WS 2006/07 Sortieren in linearer Laufzeit
Praktikum Algorithmische Anwendungen WS 2006/07 Sortieren in linearer Laufzeit Team A blau Martin Herfurth 11043831 Markus Wagner 11043447 5. Februar 2007 1 1 Untere Schranke für Vergleichsbasierte Algorithmen
MehrHeapsort, Quicksort, Mergesort. 8. Sortieren II
209 Heapsort, Quicksort, Mergesort 8. Sortieren II 210 8.1 Heapsort [Ottman/Widmayer, Kap. 2.3, Cormen et al, Kap. 6] Heapsort 211 Inspiration von Selectsort: Schnelles Einfügen Inspiration von Insertionsort:
MehrÜbungsklausur Algorithmen I
Jun.-Prof. Hofheinz, Jun.-Prof. Meyerhenke (ITI, KIT) 08.06.2015 Übungsklausur Algorithmen I Aufgabe 1. (Algorithm Engineering) Nennen Sie zwei Konzepte, die Algorithm Engineering im Gegensatz zu theoretischer
MehrHeapsort. Erstellung eines Heaps
Heapsort Beispiel für einen eleganten Algorithmus, der auf einer effizienten Datenstruktur (dem Heap) beruht [Williams, 1964] Daten liegen in einem Array der Länge n vor 1. Erstelle aus dem gegebenen Array
MehrHeapsort. 1. Erstelle aus dem gegebenen Array einen Heap (DownHeap) 2. Tausche erstes und letztes Element des Arrays
Heapsort Beispiel für einen eleganten Algorithmus, der auf einer effizienten Datenstruktur (dem Heap) beruht [Williams, 1964] Daten liegen in einem Array der Länge n vor 1. Erstelle aus dem gegebenen Array
MehrZunächst ein paar einfache "Rechen"-Regeln: Lemma, Teil 1: Für beliebige Funktionen f und g gilt:
Der Groß-O-Kalkül Zunächst ein paar einfache "Rechen"-Regeln: G. Zachmann Informatik 1 - WS 05/06 Komplexität 22 Additionsregel Lemma, Teil 1: Für beliebige Funktionen f und g gilt: Zu beweisen: nur das
MehrAlgorithmen und Datenstrukturen
1 Algorithmen und Datenstrukturen Wintersemester 017/18 8. Vorlesung Sortieren mit dem Würfel! Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I - 5 Guten Morgen! Tipps für unseren ersten Test am Do,
MehrKlausur Algorithmen und Datenstrukturen
Technische Universität Braunschweig Wintersemester 2014/2015 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Dr. Christian Scheffer Klausur Algorithmen
MehrV. Claus, Juli 2005 Einführung in die Informatik II 45
Um die Größenordnung einer reellwertigen oder ganzzahligen Funktion zu beschreiben, verwenden wir die so genannten Landau-Symbole (nach dem deutschen Mathematiker Edmund Landau, 1877-1938). Hierbei werden
MehrInformatik II. Algorithmen und Datenstrukturen. Vorläufige Version 1 c 2002 Peter Thiemann
Informatik II Algorithmen und Datenstrukturen Vorläufige Version 1 c 2002 Peter Thiemann 1 Einführung 1.1 Inhalt Wichtige Datentypen und ihre Implementierung (Datenstrukturen) Operationen auf Datenstrukturen
MehrAuswählen nach Rang (Selektion)
Auswählen nach Rang (Selektion) Geg.: Folge X von n Schlüsseln, eine Zahl k mit k n Ges.: ein k-kleinster Schlüssel von X, also den Schlüssel x k für X sortiert als x x 2 L x n trivial lösbar in Zeit O(kn)
MehrAlgorithmen und Datenstrukturen II. Arne Schmidt Übung #
Algorithmen und Datenstrukturen II Arne Schmidt Übung #1 18.04.2018 Übersicht Organisation Sortierverfahren Hausaufgaben: Programmierteil Datenverarbeitung Organisation Homepage: https://www.ibr.cs.tu-bs.de/courses/ss18/aud2/
MehrÜbung zu Algorithmen und Datenstrukturen (für ET/IT)
Übung zu Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2017 Rüdiger Göbl, Mai Bui Computer Aided Medical Procedures Technische Universität München Wiederholung: Validation Validation: nicht-formaler
MehrInformatik II. 1. Einführung. Ziele der Vorlesung. Inhalte der Vorlesung. Vorlesung am D-BAUG der ETH Zürich
Informatik II Vorlesung am D-BAUG der ETH Zürich 1. Einführung Felix Friedrich & Hermann Lehner Algorithmen und Datenstrukturen, erstes Beispiel FS 2018 1 23 Ziele der Vorlesung Inhalte der Vorlesung Verständnis
MehrDatenstrukturen. Mariano Zelke. Sommersemester 2012
Datenstrukturen Mariano Zelke Sommersemester 2012 Mariano Zelke Datenstrukturen 2/19 Das Teilfolgenproblem: Algorithmus A 3 A 3 (i, j bestimmt den Wert einer maximalen Teilfolge für a i,..., a j. (1 Wenn
Mehrin eine Folge ai, so daß bezgl. einer Ordnung gilt: a a, j < n
6. Sortieren Umordnen von Objekten a in eine Folge ai,..., ai n, so daß bezgl. einer Ordnung gilt: a a, j < n Begriffe: ij i j + ) Stabilität : Ein Sortierverfahren heißt stabil, falls die relative Reihenfolge
Mehr2. Hausübung Algorithmen und Datenstrukturen
Prof. Dr. Gerd Stumme, Folke Eisterlehner, Dominik Benz Fachgebiet Wissensverarbeitung 7.4.009. Hausübung Algorithmen und Datenstrukturen Sommersemester 009 Abgabetermin: Montag, 04.05.009, 10:00 Uhr 1
MehrProgrammieren I. Kapitel 7. Sortieren und Suchen
Programmieren I Kapitel 7. Sortieren und Suchen Kapitel 7: Sortieren und Suchen Ziel: Varianten der häufigsten Anwendung kennenlernen Ordnung Suchen lineares Suchen Binärsuche oder Bisektionssuche Sortieren
MehrÜbung zu Algorithmen und Datenstrukturen (für ET/IT)
Übung zu Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2017 Rüdiger Göbl, Mai Bui Computer Aided Medical Procedures Technische Universität München Fibonacci Zahlen Fibonacci Folge Die Fibonacci
MehrPräsenzübung Datenstrukturen und Algorithmen SS 2014
Prof. aa Dr. E. Ábrahám F. Corzilius, S. Schupp, T. Ströder Präsenzübung Datenstrukturen und Algorithmen SS 2014 Vorname: Nachname: Studiengang (bitte genau einen markieren): Informatik Bachelor Informatik
Mehr2 Sortieren. Beispiel: Es seien n = 8 und a = i : a i : ϕ(i) : a ϕ(i) :
2 Sortieren Das Sortieren einer Datenfolge ist eines der am leichtesten zu verstehenden und am häufigsten auftretenden algorithmischen Probleme. In seiner einfachsten Form besteht das Problem darin, eine
MehrAlgorithmen I. Tutorium 1-3. Sitzung. Dennis Felsing
Algorithmen I Tutorium 1-3. Sitzung Dennis Felsing dennis.felsing@student.kit.edu www.stud.uni-karlsruhe.de/~ubcqr/algo 2011-05-02 Überblick 1 Sortieren und Suchen 2 Mastertheorem 3 Datenstrukturen 4 Kreativaufgabe
MehrOrdnen Sie die folgenden Funktionen nach ihrer asymptotischer Komplexität in aufsteigender Reihenfolge: i=1 4i + n = 4 n. i=1 i + 3n = 4 ( n(n+1)
für Informatik Prof. aa Dr. Ir. Joost-Pieter Katoen Christian Dehnert, Friedrich Gretz, Benjamin Kaminski, Thomas Ströder Tutoraufgabe (Asymptotische Komplexität): Ordnen Sie die folgenden Funktionen nach
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2017 Marc Bux, Humboldt-Universität zu Berlin Agenda 1. Die Landau-Notation (Wiederholung und Vertiefung) 2. Vorbereitung Aufgabenblatt 1, Aufgabe 1
MehrAlgorithmen und Datenstrukturen 1
Algorithmen und Datenstrukturen 1 6. Vorlesung Martin Middendorf / Universität Leipzig Institut für Informatik middendorf@informatik.uni-leipzig.de studla@bioinf.uni-leipzig.de Merge-Sort Anwendbar für
MehrInformatik II. 1. Einführung. Inhalte der Vorlesung. Ziele der Vorlesung. Vorlesung am D-BAUG der ETH Zürich
Informatik II Vorlesung am D-BAUG der ETH Zürich 1. Einführung Felix Friedrich & Hermann Lehner Algorithmen und Datenstrukturen, Korrektheit, erstes Beispiel FS 2019 1 2 Ziele der Vorlesung Inhalte der
MehrAlgorithmen und Datenstrukturen (für ET/IT)
Algorithmen und Datenstrukturen (für ET/IT) Wintersemester 2012/13 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm heute 1 Einführung 2 Mathematische Grundlagen
MehrAlgorithmen und Datenstrukturen 1-1. Seminar -
Algorithmen und Datenstrukturen 1-1. Seminar - Dominic Rose Bioinformatics Group, University of Leipzig Wintersemester 2009/10 Inhalt der ersten beiden Vorlesungen Algorithmenbegriff Komplexität, Asymptotik
MehrEinführung in die Programmierung I. 6. Sortieren. Stefan Zimmer
Einführung in die Programmierung I 6. Sortieren Stefan Zimmer 26.11.2007 2 Sortieren Gegeben seien n Dinge ai, 1 i n, und eine Vergleichsoperation (z.b. Zahlen und
MehrDatenstrukturen und Algorithmen (SS 2013) Prof. Dr. Leif Kobbelt Thomas Ströder, Fabian Emmes, Sven Middelberg, Michael Kremer
Präsenzübung Datenstrukturen und Algorithmen (SS 2013) Prof. Dr. Leif Kobbelt Thomas Ströder, Fabian Emmes, Sven Middelberg, Michael Kremer Dienstag, 28. Mai 2013 Nachname: Vorname: Matrikelnummer: Studiengang:
MehrGrundlegende Sortieralgorithmen
Grundlegende Sortieralgorithmen Prof. Dr. Christian Böhm in Zusammenarbeit mit Gefei Zhang http://www.dbs.ifi.lmu.de/lehre/nfinfosw WS 07/08 2 Ziele Grundlegende Sortieralgorithmen auf Reihungen kennen
MehrInformatik II. Vorlesung am D-BAUG der ETH Zürich. Felix Friedrich & Hermann Lehner FS 2018
1 Informatik II Vorlesung am D-BAUG der ETH Zürich Felix Friedrich & Hermann Lehner FS 2018 23 1. Einführung Algorithmen und Datenstrukturen, erstes Beispiel 24 Ziele der Vorlesung Verständnis des Entwurfs
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2015 Marc Bux, Humboldt-Universität zu Berlin Organisation Vorlesung: Montag 11 13 Uhr Ulf Leser RUD 26, 0 115 Mittwoch 11 13 Uhr Ulf Leser RUD 26,
MehrStud.-Nummer: Datenstrukturen & Algorithmen Seite 1
Stud.-Nummer: Datenstrukturen & Algorithmen Seite Aufgabe. / 6 P Instruktionen: ) In dieser Aufgabe sollen Sie nur die Ergebnisse angeben. Diese können Sie direkt bei den Aufgaben notieren. 2) Sofern Sie
MehrKap. 3: Sortieren (3)
Kap. 3: Sortieren (3) Professor Dr. Lehrstuhl für Algorithm Engineering, LS Fakultät für Informatik, TU Dortmund 6. VO DAP2 SS 2009 30. April 2009 Überblick Quick-Sort Analyse von Quick-Sort Quick-Sort
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen 11. Übung Verkettete Listen, Sortieren Insertionsort, Mergesort, Radixsort, Quicksort Clemens Lang Übungen zu AuD 19. Januar 2010 Clemens Lang (Übungen zu AuD) Algorithmen
MehrÜbersicht. Datenstrukturen und Algorithmen. Übersicht. Heaps. Vorlesung 8: Heapsort (K6) Joost-Pieter Katoen. 7. Mai 2015
Datenstrukturen und Algorithmen Vorlesung 8: (K6) 1 Joost-Pieter Katoen Lehrstuhl für Informatik Software Modeling and Verification Group http://moves.rwth-aachen.de/teaching/ss-15/dsal/ 7. Mai 015 3 Joost-Pieter
MehrFormaler. Gegeben: Elementfolge s = e 1,...,e n. s ist Permutation von s e 1 e n für eine lineare Ordnung ` '
Sortieren & Co 164 165 Formaler Gegeben: Elementfolge s = e 1,...,e n Gesucht: s = e 1,...,e n mit s ist Permutation von s e 1 e n für eine lineare Ordnung ` ' 166 Anwendungsbeispiele Allgemein: Vorverarbeitung
Mehr3.2. Divide-and-Conquer-Methoden
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE 3.2. Divide-and-Conquer-Methoden Divide-and-Conquer-Methoden Einfache Sortieralgorithmen reduzieren die Größe des noch
MehrFAKULTÄT FÜR INFORMATIK
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Effiziente Algorithmen SS 2008 Grundlagen: Algorithmen und Datenstrukturen Midterm-Klausur Prof. Dr. Christian Scheideler, Dr. Stefan
Mehr, i =, i 2 = 1 2. f (n)
Laufzeitanalyse Einige Formeln: n c i = cn+1 n n 1 c 1, für c 1 n(n + 1), i =, i = 1 i=0 i=0 3 n3 + 1 n + 1 6 n i=0 O-Notation: f = O(g) c > 0 n 0 > 0 n n 0 : f (n) c g(n) f = Ω(g) g = O( f ) f = Θ(g)
MehrDatenstrukturen und Algorithmen (SS 2013)
Datenstrukturen und Algorithmen (SS 2013) Präsenzübung Musterlösung Dienstag, 28.05.2013 Aufgabe 1 (Allgemeine Fragen [20 Punkte]) 1. Tragen Sie in der folgenden Tabelle die Best-, Average- und Worst-Case-
MehrAlgorithmen und Datenstrukturen Tutorium I
Algorithmen und Datenstrukturen Tutorium I 20. - 25. 04. 2016 AlgoDat - Tutorium I 1 1 Organisatorisches Kontakt 2 Landau-Notation Definiton von O Logarithmen Gesetze & Ableitung Satz von l Hôpital 3 Algorithmen
MehrKomplexität von Algorithmen OOPM, Ralf Lämmel
Ganz schön komplex! Komplexität von Algorithmen OOPM, Ralf Lämmel 885 Motivierendes Beispiel Algorithmus Eingabe: ein Zahlen-Feld a der Länge n Ausgabe: Durchschnitt Fragen: sum = 0; i = 0; while (i
Mehres gibt Probleme, die nicht berechenbar sind (z.b. Menge aller Funktionen N N und die Menge aller Sprachen sind überabzählbar)
Komplexitätstheorie es gibt Probleme, die nicht berechenbar sind (z.b. Menge aller Funktionen N N und die Menge aller Sprachen sind überabzählbar) andere Probleme sind im Prinzip berechenbar, möglicherweise
Mehr