1. Übung Algorithmen I
|
|
|
- Juliane Martin
- vor 8 Jahren
- Abrufe
Transkript
1 Timo Bingmann, Christian Schulz INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS 1 KIT Timo Universität Bingmann, des LandesChristian Baden-Württemberg Schulz und nationales Forschungszentrum in der Helmholtz-Gemeinschaft Institut für Theoretische Informatik
2 Organistorisches Bonus - Änderung 0% der Übungspunkte < 25% 0 Bonuspunkt 25% der Übungspunkte < 50% 1 Bonuspunkt 50% der Übungspunkte < 75% 2 Bonuspunkte 75% der Übungspunkte 3 Bonuspunkte für die Klausur 2 Timo Bingmann, Christian Schulz
3 Asymptotik 3 Timo Bingmann, Christian Schulz
4 Rechenzeit bei 10 9 Ops pro Sekunde n 1000 log 2 n 500n 100n log 2 n 10n 2 n 3 2 n µs 5 µs 3.3 µs 1 µs 1 µs 1 µs µs 10 µs 8.6 µs 4 µs 8 µs 1.05 ms µs 25 µs 28.2 µs 25 µs 125 µs 13 h µs 50 µs 66.4 µs 100 µs 1 ms a µs 125 µs 199 µs 625 µs 15 ms µs 250 µs 448 µs 2.5 ms 125 ms µs 500 µs 1 ms 10 ms 1 s µs 2.5 ms 6.1 ms 250 ms 125 s µs 5 ms 13.3 ms 1 s 16 min µs 50 ms 166 ms 100 s 11.6 d µs 500 ms 2 s 2.7 h 31.7 a µs 5 s 23 s 11.6 d a µs 50 s 4.4 min 3.2 a a µs 8.3 min 50 min 317 a µs 1.4 h 9.2 h a µs 13.9 h 4.2 d 4 Timo Bingmann, Christian Schulz
5 O-Kalkül 5 Timo Bingmann, Christian Schulz
6 O-Kalkül O(g(n)) = {f : N R c > 0 n 0 N n n 0 : f (n) c g(n)} Ω(g(n)) = {f : N R c > 0 n 0 N n n 0 : f (n) c g(n)} 5 Timo Bingmann, Christian Schulz
7 O-Kalkül O(g(n)) = {f : N R c > 0 n 0 N n n 0 : f (n) c g(n)} Ω(g(n)) = {f : N R c > 0 n 0 N n n 0 : f (n) c g(n)} o(g(n)) = {f : N R c > 0 n 0 N n n 0 : f (n) c g(n)} ω(g(n)) = {f : N R c > 0 n 0 N n n 0 : f (n) c g(n)} 5 Timo Bingmann, Christian Schulz
8 O-Kalkül O(g(n)) = {f : N R c > 0 n 0 N n n 0 : f (n) c g(n)} Ω(g(n)) = {f : N R c > 0 n 0 N n n 0 : f (n) c g(n)} Θ(g(n)) = {f : N R c 1 > 0, c 2 > 0 n 0 N n n 0 : c 1 g(n) f (n) c 2 g(n)} o(g(n)) = {f : N R c > 0 n 0 N n n 0 : f (n) c g(n)} ω(g(n)) = {f : N R c > 0 n 0 N n n 0 : f (n) c g(n)} 5 Timo Bingmann, Christian Schulz
9 Intuition zum O-Kalkül O(g(n)) = {f : N R c > 0 n 0 N n n 0 : f (n) c g(n)} f 1 (n) Timo Bingmann, Christian Schulz
10 Intuition zum O-Kalkül O(g(n)) = {f : N R c > 0 n 0 N n n 0 : f (n) c g(n)} 80 c 1 n 60 f 1 (n) Timo Bingmann, Christian Schulz
11 Intuition zum O-Kalkül O(g(n)) = {f : N R c > 0 n 0 N n n 0 : f (n) c g(n)} f 1 (n) c 1 n Timo Bingmann, Christian Schulz
12 Intuition zum O-Kalkül O(g(n)) = {f : N R c > 0 n 0 N n n 0 : f (n) c g(n)} f 1 (n) = O(n) c 1 n 20 n Timo Bingmann, Christian Schulz
13 Intuition zum O-Kalkül O(g(n)) = {f : N R c > 0 n 0 N n n 0 : f (n) c g(n)} 80 f 2 (n) f 1 (n) c 1 n 20 n Timo Bingmann, Christian Schulz
14 Intuition zum O-Kalkül Ω(g(n)) = {f : N R c > 0 n 0 N n n 0 : f (n) c g(n)} f 2 (n) = Ω(n) f 1 (n) c 1 n 20 n Timo Bingmann, Christian Schulz
15 Intuition zum O-Kalkül ω(g(n)) = {f : N R c > 0 n 0 N n n 0 : f (n) c g(n)} 80 f 2 (n) = ω(n) c 1 n 60 f 1 (n) n Timo Bingmann, Christian Schulz
16 Intuition zum O-Kalkül ω(g(n)) = {f : N R c > 0 n 0 N n n 0 : f (n) c g(n)} f 2 (n) ω(n) c 1 n n Timo Bingmann, Christian Schulz
17 Intuition zum O-Kalkül ω(g(n)) = {f : N R c > 0 n 0 N n n 0 : f (n) c g(n)} f 2 (n) ω(n) Nur Intuition! c 1 n 50 n Timo Bingmann, Christian Schulz
18 O-Kalkül Für nicht-negative f, g : N R gelten folgende Äquivalenzen: 1 f (n) = O(g(n)) 0 lim sup n f (n) g(n) <, 8 Timo Bingmann, Christian Schulz
19 O-Kalkül Für nicht-negative f, g : N R gelten folgende Äquivalenzen: 1 f (n) = O(g(n)) 0 lim sup n 2 f (n) = Ω (g(n)) 0 < lim inf n f (n) g(n) <, f (n) g(n), 3 f (n) = o(g(n)) lim n f (n) g(n) = 0, 4 f (n) = ω(g(n)) lim n f (n) g(n) =, 5 f (n) = Θ(g(n)) = lim n f (n) g(n) = c > 0. 8 Timo Bingmann, Christian Schulz
20 Basis des Logarithmus O(log n) FAQ: Zu welcher Basis ist der Logarithmus? 9 Timo Bingmann, Christian Schulz
21 Basis des Logarithmus O(log n) FAQ: Zu welcher Basis ist der Logarithmus? Im Zweifelsfall zur Basis 2 (in der Informatik). Im O( )-Kalkül meistens egal: ( ) z. B. O... log k n für fixes k denn log a x = log b x/ log b a = c log b x für eine Konstante c kein Unterschied im O-Kalkül 9 Timo Bingmann, Christian Schulz
22 Invarianten in der Informatik 10 Timo Bingmann, Christian Schulz
23 Invarianten in der Informatik Idee der Anwendung finde Schleifeninvariante zeige Schleifeninvariante Schleifeninvariante und sonstiges Wissen Korrektheit des Algorithmus Function max(a : Array [0..n] of R) : assert A.size() > 0 i=0 : N 0 for j := 1 to n do if A[j] > A[i] then i := j assert i = argmax l n A[l] return i // Vorbedingung // Nachbedingung 11 Timo Bingmann, Christian Schulz
24 Invarianten in der Informatik Beispiel I for j := 0 to n do if A[j] > A[i] then i := j assert i = argmax l j A[l] // Invariante Beweis: j = 0: klar j 1 j: es gilt i = argmax l<j A[l], also A[i] = max l<j A[l] 1 Fall 1: A[j] > A[i] = max l<j A[l] update i Beh. 2 Fall 2: A[j] A[i] = max l<j A[l] kein update Beh. 12 Timo Bingmann, Christian Schulz
25 Invarianten in der Informatik Beispiel I Function max(a : Array [0..n] of R) : assert A.size() > 0 i=0 : N 0 for j := 1 to n do if A[j] > A[i] then i := j assert i = argmax l j A[l] assert i = argmax l n A[l] return i // Vorbedingung // Invariante // Nachbedingung Nach Beenden der Schleife gilt j = n und i = argmax l j A[l] Also die Nachbedingung: i = argmax l n A[l] und damit die Korrektheit unseres Algorithmus 13 Timo Bingmann, Christian Schulz
26 Invarianten in der Informatik Beispiel II Function funwithalgorithms(n : N) : assert n odd Z := {1,..., 2n} S := z Z z = 2n i=1 i while Z > 1 do pick a, b with a b from Z Z Z \{a, b} Z { a b } assert Z = 1 // Vorbedingung // enferne zwei zufällige Zahlen aus Z // füge a b hinzu // Nachbedingung I 14 Timo Bingmann, Christian Schulz
27 Invarianten in der Informatik Beispiel II Ziel: Zeige die Zahl die übrig bleibt ist ungerade Function funwithalgorithms(n : N) : assert n odd Z := {1,..., 2n} S := z Z z = 2n i=1 i while Z > 1 do pick a, b with a b from Z Z Z \{a, b} Z { a b } assert Z = 1 assert Z [0] odd // Vorbedingung // enferne zwei zufällige Zahlen aus Z // füge a b hinzu // Nachbedingung I // Nachbedingung II 15 Timo Bingmann, Christian Schulz
28 Invarianten in der Informatik Beispiel II Ziel: Zeige die Zahl die übrig bleibt ist ungerade Function funwithalgorithms(n : N) : assert n odd Z := {1,..., 2n} S := z Z z = 2n i=1 i assert S odd while Z > 1 do pick a, b with a b from Z Z Z \{a, b} Z Z { a b } assert z Z z odd assert Z [0] odd // Vorbedingung // Vorbedingung // enferne zwei zufällige Zahlen aus Z // füge a b hinzu // Invariante // Nachbedingung I 16 Timo Bingmann, Christian Schulz
29 Invarianten Beispiel II IA: S = 2n i=1 i = 1 2 (2n(2n + 1)) = n(2n + 1) ungerade IS: Annahme S = z Z z ungerade zu zeigen: S := z Z \{a,b} { a b } z ungerade Beweis: S = S a b + a b = S 2 min a, b Also z Z z bleibt ungerade! 17 Timo Bingmann, Christian Schulz
30 Invarianten in der Informatik Beispiel III Ziel: Nach Terminierung enthält b die binäre Repräsentation von n Function converttobinary(n : N) : b := Array < 0,..., 0 > t := n k := 1 while t > 0 do k := k + 1 b[k] := t mod 2 t := t div 2 // binary representation of n 18 Timo Bingmann, Christian Schulz
31 Invarianten in der Informatik Beispiel III Wieder drei Schritte zu tun: 1 Hypothese vor Beginn der Schleife wahr 2 Invar. gilt im k ten Invar. gilt im k + 1 ten Schritt 3 Nach Terminierung, Invariante Korrektheit des Algorithmus Invariante: n = t 2 k+1 + m mit m die Zahl, die durch b[0,..., k] repräsentiert wird 19 Timo Bingmann, Christian Schulz
32 Invarianten in der Informatik Beispiel III - Anfang m die Zahl, die durch b[0,..., k] repräsentiert wird Function converttobinary(n : N) : b := Array < 0,..., 0 > t := n k := 1 assert n = t 2 k+1 + m while t > 0 do k := k + 1 b[k] := t mod 2 t := t div 2 // binary representation of n 20 Timo Bingmann, Christian Schulz
33 Invarianten in der Informatik Beispiel III - Schluss m die Zahl, die durch b[0,..., k] repräsentiert wird k := k + 1 b[k] := t mod 2 t := t div 2 Beweis (k k + 1): es gelte vor der Iteration n = t 2 k+1 + m Fall 1: t gerade 1 b[k + 1] = t mod 2 = 0 2 t := t/2 3 k := k + 1, m unverändert nach der Iteration: t/2 2 k+2 + m = t 2 k+1 + m = n 21 Timo Bingmann, Christian Schulz
34 Invarianten in der Informatik Beispiel III - IS m die Zahl, die durch b[0,..., k] repräsentiert wird Beweis (k k + 1): es gelte vor der Iteration n = t 2 k+1 + m Fall 2: t ungerade 1 b[k + 1] = t mod 2 = 1 m := m + 2 k+1 2 t := (t 1)/2 3 k := k + 1 nach der Iteration: (t 1)/2 2 k+2 + m + 2 k+1 = (t 1) 2 k+1 + m + 2 k+1 = t 2 k+1 + m = n 22 Timo Bingmann, Christian Schulz
35 Invarianten in der Informatik Beispiel III - Schluss m die Zahl, die durch b[0,..., k] repräsentiert wird while t > 0 do k := k + 1 b[k] := t mod 2 t := t div 2 assert n = t 2 k+1 + m nach der Ausführung der Schleife t = 0 damit folgt die Korrektheit des Algorithmus 23 Timo Bingmann, Christian Schulz
36 Modellierungen mit Graphen 24 Timo Bingmann, Christian Schulz
37 Modellierungen Tasks mit Abhängigkeiten Problem: Frage: Menge von Aufgaben/Task und Abhängigkeiten Aufgaben ausführbar? Reihenfolge? Welche der dargestellten Pläne sind ausführbar? 25 Timo Bingmann, Christian Schulz
38 Modellierungen Tasks mit Abhängigkeiten Problem: Frage: Menge von Aufgaben/Task und Abhängigkeiten Aufgaben ausführbar? Reihenfolge? s t z v w x y u Wie findet man einen Schedule? w, y, u, t, Timo Bingmann, Christian Schulz
39 Modellierungen Tasks mit Abhängigkeiten Problem: Frage: Menge von Aufgaben/Task und Abhängigkeiten Aufgaben ausführbar? Reihenfolge? Wie findet man einen Schedule? w, y, u, t,... Algorithmus aus der VL (DAG)! Iteratives entfernen von Knoten mit Ausgangsgrad 0! 27 Timo Bingmann, Christian Schulz
40 Modellierungen Tasks mit Abhängigkeiten Iteratives entfernen von Knoten mit Ausgangsgrad 0! w 28 Timo Bingmann, Christian Schulz
41 Modellierungen Tasks mit Abhängigkeiten Iteratives entfernen von Knoten mit Ausgangsgrad 0! y,w 29 Timo Bingmann, Christian Schulz
42 Modellierungen Tasks mit Abhängigkeiten Iteratives entfernen von Knoten mit Ausgangsgrad 0! u,y,w 30 Timo Bingmann, Christian Schulz
43 Modellierungen Tasks mit Abhängigkeiten Iteratives entfernen von Knoten mit Ausgangsgrad 0! t,u,y,w 31 Timo Bingmann, Christian Schulz
44 Modellierungen Tasks mit Abhängigkeiten Iteratives entfernen von Knoten mit Ausgangsgrad 0!...,s,t,u,y,w 32 Timo Bingmann, Christian Schulz
45 Modellierungen Topologische Sortieren Topologische Sortierung t: (u, v) E : t(u) < t(v) x v z s t u y w Merke: isdag (aus VL) kann topologischen Sortieren nur falls G kreisfrei 33 Timo Bingmann, Christian Schulz
Algorithmen I - Tutorium 28 Nr. 2
Algorithmen I - Tutorium 28 Nr. 2 11.05.2017: Spaß mit Invarianten (die Zweite), Rekurrenzen / Mastertheorem und Merging Marc Leinweber [email protected] INSTITUT FÜR THEORETISCHE INFORMATIK
Algorithmen und Datenstrukturen
Universität Innsbruck Institut für Informatik Zweite Prüfung 16. Oktober 2008 Algorithmen und Datenstrukturen Name: Matrikelnr: Die Prüfung besteht aus 8 Aufgaben. Die verfügbaren Punkte für jede Aufgabe
Algorithmen II Vorlesung am
Algorithmen II Vorlesung am 07..0 Minimale Schnitte in Graphen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum
INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS
Julian Arz, Timo Bingmann, Sebastian Schlag INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS 1 KIT Julian Universität Arz, des Timo LandesBingmann, Baden-Württemberg Sebastian und Schlag nationales
9. Übung Algorithmen I
Timo Bingmann, Christian Schulz INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS 1 KIT Timo Universität Bingmann, des LandesChristian Baden-Württemberg Schulz und nationales Forschungszentrum in der
Algorithmen 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 [email protected] 21. Oktober 2015 Frank Heitmann [email protected]
Grundlagen: Algorithmen und Datenstrukturen
Technische Universität München Fakultät für Informatik Lehrstuhl für Effiziente Algorithmen Dr. Hanjo Täubig Jeremias Weihmann Sommersemester 2014 Übungsblatt 2 28. April 2014 Grundlagen: Algorithmen und
11. Übung Algorithmen I
Timo Bingmann, Christian Schulz INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS KIT Timo Universität Bingmann, des LandesChristian Baden-Württemberg Schulz und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2013/14 1. Vorlesung Kapitel 1: Sortieren Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Das Problem Eingabe Gegeben: eine Folge A = a 1, a 2,..., a
9. Rekursion. 1 falls n 1 n (n 1)!, andernfalls. Experiment: Die Türme von Hanoi. Links Mitte Rechts. Mathematische Rekursion
Experiment: Die Türme von Hanoi. Rekursion Mathematische Rekursion, Terminierung, der Aufrufstapel, Beispiele, Rekursion vs. Iteration Links Mitte Rechts Mathematische Rekursion Viele mathematische Funktionen
Algorithmen und Datenstrukturen Kapitel 1 Algorithmen & Algorithmenanalyse
Algorithmen und Datenstrukturen Kapitel 1 Algorithmen & Frank Heitmann [email protected] 14. Oktober 2015 Frank Heitmann [email protected] 1/48 Der Sprung ins Wasser...
2. Grundlagen. Beschreibung von Algorithmen durch Pseudocode. Korrektheit von Algorithmen durch Invarianten.
2. Grundlagen Beschreibung von Algorithmen durch Pseudocode. Korrektheit von Algorithmen durch Invarianten. Laufzeitverhalten beschreiben durch O-Notation. 1 Beispiel Minimum-Suche Eingabe bei Minimum
f 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
Das 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
3. Suchen. Das Suchproblem. Suche in Array. Lineare Suche. 1 n. i = n Gegeben Menge von Datensätzen.
Das Suchproblem Gegeben Menge von Datensätzen. 3. Suchen Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle Jeder Datensatz hat einen Schlüssel k. Schlüssel sind vergleichbar: eindeutige Antwort auf
Das 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.
Ordnen 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
INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS
Julian Arz, Timo Bingmann, Sebastian Schlag INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS 1 KIT Julian Universität Arz, des Timo LandesBingmann, Baden-Württemberg Sebastian und Schlag nationales
Algorithmen II Vorlesung am
Algorithmen II Vorlesung am 0..0 Minimale Schnitte in Graphen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum
2. Grundlagen. Beschreibung von Algorithmen durch Pseudocode. Korrektheit von Algorithmen durch Invarianten.
2. Grundlagen Beschreibung von Algorithmen durch Pseudocode. Korrektheit von Algorithmen durch Invarianten. Laufzeitverhalten beschreiben durch O-Notation. 1 Pseudocode Schleifen (for, while, repeat) Bedingtes
Das 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
Das 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
Beispiellösung zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 5
Robert Elsässer Paderborn, den 15. Mai 2008 u.v.a. Beispiellösung zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 5 AUFGABE 1 (6 Punkte): Nehmen wir an, Anfang bezeichne in einer normalen
9. Übung Algorithmen I
INSTITUT FÜR THEORETISCHE INFORMATIK 1 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft Institut für Theoretische www.kit.edu Informatik Musterlösung
Kombinatorische Optimierung
Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesung 16 Programm: Einführung
8. Übung zu Algorithmen I 15. Juni 2016
8. Übung zu Algorithmen I 15. Juni 2016 Lisa Kohl [email protected] (mit Folien von Julian Arz, Timo Bingmann, Sebastian Schlag, Christian Staudt und Christoph Striecks) Nachtrag: Quicksort, alternative
2. Übung Algorithmen I
1 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft Institut für Theoretische www.kit.edu Informatik Amortisierte Analyse Beispiel Binärzähler
10. Übung Algorithmen I
INSTITUT FÜR THEORETISCHE INFORMATIK 1 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft Institut für Theoretische www.kit.edu Informatik Bäume
14. 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
Algorithmen 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
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2012/13 1. Vorlesung Kapitel 1: Sortieren Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Das Problem Eingabe Gegeben: eine Folge A = a 1, a 2,..., a
Vorlesung Datenstrukturen
Vorlesung Datenstrukturen Einleitung und Grundlagen Maike Buchin 18.4.2017 Verantwortliche Dozentin Organisation der Übungen Übungsleiter Korrekteure Maike Buchin [email protected] Raum NA 1/70 Sprechzeiten:
Das Heiratsproblem. Definition Matching
Das Heiratsproblem Szenario: Gegeben: n Frauen und m > n Männer. Bekanntschaftsbeziehungen zwischen allen Männern und Frauen. Fragestellung: Wann gibt es für jede der Frauen einen Heiratspartner? Modellierung
8. 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
Heapsort, 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:
Grundlagen: 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
Problem: Gegeben Spezifikation (P,Q) und Implementierung S Gesucht formaler (automatisierbarer?) Beweis, dass S (P,Q) erfüllt.
Formale Verifikation von Algorithmen 1.3 Verifikation Problem: Gegeben Spezifikation (P,Q) und Implementierung S Gesucht formaler (automatisierbarer?) Beweis, dass S (P,Q) erfüllt. Bisher nicht möglich
Datenstrukturen und Algorithmen Beispiellösung zu Heimübungsblatt 7. Abbildung 1: Das Array A als Baum (vgl. Foliensatz 16, Folie 3)
Aufgabe 3 a) Wir verwenden zur Lösung den Algorithmus Build-Heap 1, dieser verwendet die Funktion Heapify. Unser Array A ist gegeben durch [7, 10,, 5, 5,, 3, 3, 17]. 10 5 5 3 17 7 Abbildung 1: Das Array
12. Übung Algorithmen I
12. Übung Algorithmen I Timo Bingmann, Christian Schulz INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS 1 KIT Timo Universität Bingmann, des LandesChristian Baden-Württemberg Schulz und 12. Übung Algorithmen
Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen
Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen 186.172 Algorithmen und Datenstrukturen 1 VL 4.0 Übungsblatt 1 für die Übung
Aufgabe 8. 1 Arbeitsweise illustrieren. 2 Korrektheitsbeweis führen. 3 Laufzeitanalyse durchführen.
Aufgabe 8 Betrachten Sie den folgenden Algorithmus namens Bubble-Sort. Bubble-Sort(A[1..n]): 1 for i 1 to length(a) 1 2 do for j length(a) downto i + 1 3 do if A[j 1] > A[j] 4 then A[j 1] A[j] 1 Arbeitsweise
Induktionsbeweis. Satz Primfaktorzerlegung. Jede natürliche Zahl n 2 lässt sich als Produkt von Primzahlen darstellen.
Induktionsbeweis Satz Primfaktorzerlegung Jede natürliche Zahl n 2 lässt sich als Produkt von Primzahlen darstellen. Beweis: Induktion über n (IV) Induktionsverankerung: n=2 prim. (IA) Induktionsannahme:
8.1.3 Operation Build-Max-Heap Operation zur Konstruktion eines Heaps Eingabe: Feld A[1..n], n = länge(a) BUILD-MAX-HEAP (A)
Stand der Vorlesung: Datenstruktur Heap: fast vollständiger Binärbaum MaxHeap: sortierter Heap, größtes Element an Wurzel Sortierverfahren: HeapSort: Sortieren eines Feldes A[1.. n] Idee: in place: Feld
Denition: Rang eines Elements e einer Folge s = Position von e in sort(s) (angefangen bei 1). Frage: warum ist r nicht notwendig eindeutig?
207 Auswahl (Selection) Denition: Rang eines Elements e einer Folge s = Position von e in sort(s) (angefangen bei 1). Frage: warum ist r nicht notwendig eindeutig? // return an element of s with rank k
Informatik 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
Algorithm Engineering was hat das mit der Praxis zu tun?
Algorithm Engineering was hat das mit der Praxis zu tun? design analyze Algorithmics implement experiment 33 Algorithmentheorie (Karikatur) models design Theory Practice analysis perf. guarantees deduction
Informatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 7 (21.5.2014) Binäre Suche, Hashtabellen I Algorithmen und Komplexität Abstrakte Datentypen : Dictionary Dictionary: (auch: Maps, assoziative
3. Übung Algorithmen I
INSTITUT FÜR THEORETISCHE INFORMATIK 1 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft Institut für Theoretische www.kit.edu Informatik Hashtabellen:
12. Graphen. Königsberg Zyklen. [Multi]Graph
Königsberg 76. Graphen, Repräsentation, Traversieren (DFS, BFS), Topologisches Sortieren, Ottman/Widmayer, Kap. 9. - 9.,Cormen et al, Kap. [Multi]Graph Zyklen C Kante Gibt es einen Rundweg durch die Stadt
Prä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
12. Graphen. Notation, Repräsentation, Traversieren (DFS, BFS), Topologisches Sortieren, Ottman/Widmayer, Kap ,Cormen et al, Kap.
254 12. Graphen Notation, Repräsentation, Traversieren (DFS, BFS), Topologisches Sortieren, Ottman/Widmayer, Kap. 9.1-9.4,Cormen et al, Kap. 22 Königsberg 1736 255 Königsberg 1736 255 Königsberg 1736 255
Graphenalgorithmen und lineare Algebra Hand in Hand Prof. Dr. Henning Meyerhenke
Graphenalgorithmen und lineare Algebra Hand in Hand Prof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund für Theoretische
Algorithmische Methoden für schwere Optimierungsprobleme
Algorithmische Methoden für schwere Optimierungsprobleme Prof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund
Vorlesung Datenstrukturen
Vorlesung Datenstrukturen Sortieren fortgesetzt Maike Buchin 16.5.2017 5.6 Brechen der Unteren Schranke nur Vergleichen erlauben keine Algorithmen mit Laufzeit schneller als O(n log n) stattdessen: Struktur
{P} S {Q} {P} S {Q} {P} S {Q} Inhalt. Hoare-Kalkül. Hoare-Kalkül. Hoare-Tripel. Hoare-Tripel. Hoare-Tripel
Inhalt Hoare-Kalkül Formale Verifizierung Hoare-Kalkül while-sprache Terminierung Partielle / totale Korrektheit 4.0 Hoare-Kalkül entwickelt von C.A.R. (Tony) Hoare (britischer Informatiker), 1969 formales
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren Teilnehmerkreis und Voraussetzungen Studiengänge
Algorithmische Methoden zur Netzwerkanalyse
Algorithmische Methoden zur Netzwerkanalyse Juniorprof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund für Theoretische
2. 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]
Grundlagen: Algorithmen und Datenstrukturen
Technische Universität München Fakultät für Informatik Lehrstuhl für Effiziente Algorithmen Dr. Hanjo Täubig Tobias Lieber Sommersemester 2011 Übungsblatt 1 16. September 2011 Grundlagen: Algorithmen und
Algorithmen für Planare Graphen
Algorithmen für Planare Graphen 12. Juni 2018, Übung 4 Lars Gottesbüren, Michael Hamann INSTITUT FÜR THEORETISCHE INFORMATIK KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Prüfungstermine
Grundzüge von Algorithmen und Datenstrukturen, WS 15/16: Lösungshinweise zum 13. Übungsblatt
U N S A R I V E R S A V I E I T A S N I S S Grundzüge von Algorithmen und Datenstrukturen, WS /6: Lösungshinweise zum 3. Übungsblatt Christian Hoffmann, Fabian Bendun Aufgabe 3. (a) Sei j i + = n die Größe
Sortieren & Co. KIT Institut für Theoretische Informatik
Sortieren & Co KIT Institut für Theoretische Informatik 1 Formaler Gegeben: Elementfolge s = e 1,...,e n Gesucht: s = e 1,...,e n mit s ist Permutation von s e e 1 n für eine Totalordnung ` ' KIT Institut
Suchen und Sortieren Sortieren. Heaps
Suchen und Heaps (Folie 156, Seite 56 im Skript) Definition Ein Heap ist ein Binärbaum, der die Heapeigenschaft hat (Kinder sind größer als der Vater), bis auf die letzte Ebene vollständig besetzt ist,
Übungsblatt 4. Aufgabe 1. IN8009 Algorithmen und Datenstrukturen Thomas Stibor
Aufgabe 1 Zeigen Sie 2n 2 = O(n 3 ), n = Ω(lgn), n 2 /2 2n = Θ(n 2 ). Übungsblatt 4 Zu zeigen: 2n 2 = O(n 3 ). O(g(n)) = {f(n) : es existieren positive Konstanten c und n 0, sodass 0 f(n) cg(n) für alle
