4. Übung zu Algorithmen I 17. Mai 2017
|
|
- Monica Beutel
- vor 6 Jahren
- Abrufe
Transkript
1 4. Übung zu Algorithmen I 17. Mai 2017 Björn Kaidel bjoern.kaidel@kit.edu (mit Folien von Julian Arz, Timo Bingmann, Lisa Kohl, Christian Schulz, Sebastian Schlag und Christoph Striecks)
2 Organisatorisches Darf ich XYZ zum Lösen der Übungsaufgaben verwenden? Faustregel: Alles aus dem 1. Semester (z.b. GBI) und der Algorithmen VL erlaubt Bitte darauf hinweisen, wenn ihr spezielleren Sto aus dem ersten Semester verwendet.
3 Organisatorisches Darf ich XYZ zum Lösen der Übungsaufgaben verwenden? Faustregel: Alles aus dem 1. Semester (z.b. GBI) und der Algorithmen VL erlaubt Bitte darauf hinweisen, wenn ihr spezielleren Sto aus dem ersten Semester verwendet. Ausnahme: Aufgabe verbietet/verlangt bestimmte Algorithmen, Techniken,... Algorithmen, Techniken, etc. aus sonstigen Quellen nicht erlaubt
4 Organisatorisches Darf ich XYZ zum Lösen der Übungsaufgaben verwenden? Faustregel: Alles aus dem 1. Semester (z.b. GBI) und der Algorithmen VL erlaubt Bitte darauf hinweisen, wenn ihr spezielleren Sto aus dem ersten Semester verwendet. Ausnahme: Aufgabe verbietet/verlangt bestimmte Algorithmen, Techniken,... Algorithmen, Techniken, etc. aus sonstigen Quellen nicht erlaubt Tipp: Es kann sinnvoll sein, verschiedene Lösungsmöglichkeiten zu üben (z.b. Rekurrenzen nicht nur mit Master-Theorem lösen)
5 Klausur: Spickzettel Wie in den Vorjahren: Wir erlauben euch einen Spickzettel mit in die Klausur zu nehmen Ein DIN A4 Blatt Handgeschrieben Beidseitiges beschriften erlaubt Keine Einschränkung bzgl. Schriftgröÿe, Inhalt etc.
6 Inhalt Hashing Hashtabellen Anwendungen davon
7 Hashtabelle mit einfach verketteten Listen Schlüsseluniversum U Hashfunktion h : U {0,..., m 1} Beispiel: h(k 1 ) = 2, h(k 2 ) = h(k 3 ) = m-1 k 3 k 1 k 2
8 Problem: Gegeben: Folge A := a 1, a 2,..., a u von Zahlen Frage: enthält A Duplikate a i = a j für i j?
9 Problem: Gegeben: Folge A := a 1, a 2,..., a u von Zahlen Frage: enthält A Duplikate a i = a j für i j? Ansatz 1: Sortieren 9, 18, 42, 25, 33, 18, 104
10 Problem: Gegeben: Folge A := a 1, a 2,..., a u von Zahlen Frage: enthält A Duplikate a i = a j für i j? Ansatz 1: Sortieren 9, 18, 42, 25, 33, 18, 104 9, 18, 18, 25, 33, 42, 104
11 Problem: Gegeben: Folge A := a 1, a 2,..., a u von Zahlen Frage: enthält A Duplikate a i = a j für i j? Ansatz 1: Sortieren 9, 18, 42, 25, 33, 18, 104 9, 18, 18, 25, 33, 42, 104 Laufzeit: Ω(n log n) (Sortieren im Worst-Case)
12 Problem: Gegeben: Folge A := a 1, a 2,..., a u von Zahlen Frage: enthält A Duplikate a i = a j für i j? Ansatz 1: Sortieren 9, 18, 42, 25, 33, 18, 104 9, 18, 18, 25, 33, 42, 104 Laufzeit: Ω(n log n) (Sortieren im Worst-Case) Geht es besser?
13 Problem: Gegeben: Folge A := a 1, a 2,..., a u von Zahlen Frage: enthält A Duplikate a i = a j für i j? Ansatz 1: Sortieren 9, 18, 42, 25, 33, 18, 104 9, 18, 18, 25, 33, 42, 104 Laufzeit: Ω(n log n) (Sortieren im Worst-Case) Ansatz 2: Hashtabelle Hashtabelle mit m Slots und verketteten Listen Ziel: (erwartete) Laufzeit in O(n).
14 Beispiel 9, 18, 42, 25, 33, 18, 104 mit Hashfunktion h : a a mod
15 Beispiel 9, 18, 42, 25, 33, 18, 104 mit Hashfunktion h : a a mod
16 Beispiel 9, 18, 42, 25, 33, 18, 104 mit Hashfunktion h : a a mod
17 Beispiel 9, 18, 42, 25, 33, 18, 104 mit Hashfunktion h : a a mod
18 Beispiel 9, 18, 42, 25, 33, 18, 104 mit Hashfunktion h : a a mod
19 Beispiel 9, 18, 42, 25, 33, 18, 104 mit Hashfunktion h : a a mod
20 Beispiel 9, 18, 42, 25, 33, 18, 104 mit Hashfunktion h : a a mod
21 Beispiel 9, 18, 42, 25, 33, 18, 104 mit Hashfunktion h : a a mod schon enthalten!
22 Pseudocode 1: function hasduplicates(a : Sequence of N 0 ) : {true, false} 2: H := new HashTableWithChaining of N 0 with A slots 3: for all a A do 4: if H.nd(a) NIL then return true 5: H.insert(a) 6: return false
23 Laufzeitanalyse 1. Erzeugen der Hashtabelle
24 Laufzeitanalyse 1. Erzeugen der Hashtabelle alle Slots initialisieren: O(m)
25 Laufzeitanalyse 1. Erzeugen der Hashtabelle alle Slots initialisieren: O(m) 2. Finden und Einfügen
26 Laufzeitanalyse 1. Erzeugen der Hashtabelle alle Slots initialisieren: O(m) 2. Finden und Einfügen insert pro Element: O(1)
27 Laufzeitanalyse 1. Erzeugen der Hashtabelle alle Slots initialisieren: O(m) 2. Finden und Einfügen insert pro Element: O(1) nd pro Element: O(Listenlänge)
28 Wahl der Hashfunktion Problem: im Worst-Case ist nd pro Element in Θ(n) 3->Lösung: wähle Hashfunktion zufällig und zwar schlüssel-/datenunabhängig
29 Wahl der Hashfunktion Problem: im Worst-Case ist nd pro Element in Θ(n) Beispiel: a 17, 10, 38, 24, 31, 17, 94 : a mod 7 = 3 Es existieren für jede Probleminstanz schlechte Hashfunktionen 3->Lösung: wähle Hashfunktion zufällig und zwar schlüssel-/datenunabhängig Theorem aus der Vorlesung: A O(m) erwartete Anzahl kollidierender Elemente in O(1) Intuition: Wkt. schlechte Hashfunktion zu wählen klein
30 Wahl der Hashfunktion Problem: im Worst-Case ist nd pro Element in Θ(n) 3->Lösung: wähle Hashfunktion zufällig und zwar schlüssel-/datenunabhängig Theorem aus der Vorlesung: A O(m) erwartete Anzahl kollidierender Elemente in O(1) Intuition: Wkt. schlechte Hashfunktion zu wählen klein Also: erst Daten festlegen, dann Hashfunktion wählen Durchaus realistisch!
31 Universelles Hashing Problem: zufällige Hashfunktion ziehen teuer & schwierig Wie implementieren? Welche Struktur verwenden? Anzahl potentieller Funktionen riesig etc.
32 Universelles Hashing Problem: zufällige Hashfunktion ziehen teuer & schwierig Lösung: Wie implementieren? Welche Struktur verwenden? Anzahl potentieller Funktionen riesig etc. beschränke Wahl auf bestimmte Familie von Funktionen
33 Universelles Hashing Problem: zufällige Hashfunktion ziehen teuer & schwierig Lösung: Wie implementieren? Welche Struktur verwenden? Anzahl potentieller Funktionen riesig etc. beschränke Wahl auf bestimmte Familie von Funktionen H {h : U {0,..., m 1}} heiÿt universell, falls für alle x, y U mit x y und zufälligem h H: Pr[h(x) = h(y)] = 1 m
34 Universelles Hashing - Beispiel p Primzahl, U N u, a = (a 1,..., a u ) {0,..., p 1} u : h a : U {0,..., p 1}, x u a i x i i=1 mod p und H := {h a a {0,..., p 1} u }.
35 Universelles Hashing - Beispiel p Primzahl, U N u, a = (a 1,..., a u ) {0,..., p 1} u : h a : U {0,..., p 1}, x u a i x i i=1 mod p und H := {h a a {0,..., p 1} u }. u = 2: Für x, y N 2 mit x 1 y 1 gilt: a 0 x 0 + a 1 x 1 = a 0 y 0 + a 1 y 1 mod p
36 Universelles Hashing - Beispiel p Primzahl, U N u, a = (a 1,..., a u ) {0,..., p 1} u : h a : U {0,..., p 1}, x u a i x i i=1 mod p und H := {h a a {0,..., p 1} u }. u = 2: Für x, y N 2 mit x 1 y 1 gilt: a 0 x 0 + a 1 x 1 = a 0 y 0 + a 1 y 1 mod p a 1 = (a 0 y 0 a 0 x 0 )(x 1 y 1 ) 1 mod p
37 Universelles Hashing - Beispiel p Primzahl, U N u, a = (a 1,..., a u ) {0,..., p 1} u : h a : U {0,..., p 1}, x u a i x i i=1 mod p und H := {h a a {0,..., p 1} u }. u = 2: Für x, y N 2 mit x 1 y 1 gilt: a 0 x 0 + a 1 x 1 = a 0 y 0 + a 1 y 1 mod p a 1 = (a 0 y 0 a 0 x 0 )(x 1 y 1 ) 1 H universell! (wichtig: nur wenn p prim!) mod p
38 mit universellem Hashing h a : U {0,..., p 1}, x u a i x i i=1 mod p Hashfunktion zufällig wählen jetzt klar strukturiert und technisch umsetzbar!
39 mit universellem Hashing h a : U {0,..., p 1}, x u a i x i i=1 mod p Hashfunktion zufällig wählen jetzt klar strukturiert und technisch umsetzbar! Problem: Übersetzung der Daten zu Vektoren notwendig Aber: Problem tritt generell auf
40 mit universellem Hashing h a : U {0,..., p 1}, x u a i x i i=1 mod p Hashfunktion zufällig wählen jetzt klar strukturiert und technisch umsetzbar! Problem: Übersetzung der Daten zu Vektoren notwendig Aber: Problem tritt generell auf Allgemeine Lösung: Weiÿe den Daten eindeutige Keys zu, hashe dann die Keys Zuweisung Daten zu Keys ist injektiv Konkrete Lösung: stelle Elemente in Basis p dar
41 mit universellem Hashing Beispiel mit u = 3 und p = 7: 1. stelle Elemente in Basis p dar
42 mit universellem Hashing Beispiel mit u = 3 und p = 7: 1. stelle Elemente in Basis p dar Wie Binärdarstellung, nur zu anderer Basis z.b. 17 = (0, 2, 3)
43 mit universellem Hashing Beispiel mit u = 3 und p = 7: 1. stelle Elemente in Basis p dar Wie Binärdarstellung, nur zu anderer Basis z.b. 17 = (0, 2, 3) 2. ziehe a {0,..., p 1} 3 zufällig
44 mit universellem Hashing Beispiel mit u = 3 und p = 7: 1. stelle Elemente in Basis p dar Wie Binärdarstellung, nur zu anderer Basis z.b. 17 = (0, 2, 3) 2. ziehe a {0,..., p 1} 3 zufällig z.b. a = (1, 1, 1)
45 mit universellem Hashing Beispiel mit u = 3 und p = 7: 1. stelle Elemente in Basis p dar Wie Binärdarstellung, nur zu anderer Basis z.b. 17 = (0, 2, 3) 2. ziehe a {0,..., p 1} 3 zufällig z.b. a = (1, 1, 1) 3. verwende Hashtabelle mit Hashfunktion h a
46 mit universellem Hashing Beispiel mit u = 3 und p = 7: 1. stelle Elemente in Basis p dar Wie Binärdarstellung, nur zu anderer Basis z.b. 17 = (0, 2, 3) 2. ziehe a {0,..., p 1} 3 zufällig z.b. a = (1, 1, 1) 3. verwende Hashtabelle mit Hashfunktion h a z.b. 17, 10, 38, 24, 31, 17,
47 Laufzeitanalyse 1. Erzeugen der Hashtabelle alle Slots initialisieren: O(m) 2. Finden und Einfügen insert pro Element: O(1) nd pro Element: O(Listenlänge) für zufällige Hashfunktion: erwartet O(1)
48 Zusammenfassung Problem: Gegeben: Folge A := a 1, a 2,..., a u von Zahlen Frage: enthält A Duplikate a i = a j für i j? Ansatz 1: Sortieren 9, 18, 42, 25, 33, 18, 104 9, 18, 18, 25, 33, 42, 104 Laufzeit: Ω(n log n) (Sortieren im Worst-Case) Ansatz 2: Hashtabelle Hashtabelle mit m = Θ(n) Slots und verketteten Listen Laufzeit: erwartet O(n)
49 Bloom Filter Problem: Gegeben: Menge M von n Elementen der Gröÿe u Bit Frage: kommt Element in der Menge M vor? begrenzter Platz m u n Bit
50 Bloom Filter Problem: Gegeben: Menge M von n Elementen der Gröÿe u Bit Frage: kommt Element in der Menge M vor? begrenzter Platz m u n Bit Anwendungsbeispiele: Telefonnummernimport bei Messaging-Diensten Google Chrome Safe Browsing
51 Bloom Filter Problem: Gegeben: Menge M von n Elementen der Gröÿe u Bit Frage: kommt Element in der Menge M vor? begrenzter Platz m u n Bit Anwendungsbeispiele: Telefonnummernimport bei Messaging-Diensten Google Chrome Safe Browsing Gewünschte Operationen: insert(key k) contains(key k) : bool
52 Bloom Filter Problem: Gegeben: Menge M von n Elementen der Gröÿe u Bit Frage: kommt Element in der Menge M vor? begrenzter Platz m u n Bit Anwendungsbeispiele: Telefonnummernimport bei Messaging-Diensten Google Chrome Safe Browsing Gewünschte Operationen: insert(key k) contains(key k) : bool false: k nicht in der Menge
53 Bloom Filter Problem: Gegeben: Menge M von n Elementen der Gröÿe u Bit Frage: kommt Element in der Menge M vor? begrenzter Platz m u n Bit Anwendungsbeispiele: Telefonnummernimport bei Messaging-Diensten Google Chrome Safe Browsing Gewünschte Operationen: insert(key k) contains(key k) : bool false: k nicht in der Menge true: k mit groÿer Wahrscheinlichkeit in Menge
54 Bloom Filter Menge M mit n Elementen
55 Bloom Filter Menge M mit n Elementen k Hashfunktionen h 1,..., h k : {0, 1} u {0,..., m 1}
56 Bloom Filter Menge M mit n Elementen k Hashfunktionen h 1,..., h k : {0, 1} u {0,..., m 1} Bild der Hashfunktionen gleichverteilt
57 Bloom Filter Menge M mit n Elementen k Hashfunktionen h 1,..., h k : {0, 1} u {0,..., m 1} Bild der Hashfunktionen gleichverteilt Hashfunktionen unabhängig voneinander
58 Bloom Filter Menge M mit n Elementen k Hashfunktionen h 1,..., h k : {0, 1} u {0,..., m 1} Bild der Hashfunktionen gleichverteilt Hashfunktionen unabhängig voneinander Array A[0,..., m 1] von Bits
59 Bloom Filter Menge M mit n Elementen k Hashfunktionen h 1,..., h k : {0, 1} u {0,..., m 1} Bild der Hashfunktionen gleichverteilt Hashfunktionen unabhängig voneinander Array A[0,..., m 1] von Bits insert(x): 1. setze A[h i (x)] = 1 für alle i {1,..., k}
60 Bloom Filter Menge M mit n Elementen k Hashfunktionen h 1,..., h k : {0, 1} u {0,..., m 1} Bild der Hashfunktionen gleichverteilt Hashfunktionen unabhängig voneinander Array A[0,..., m 1] von Bits insert(x): 1. setze A[h i (x)] = 1 für alle i {1,..., k} contains(x): 1. wenn A[h i (x)] = 1 für alle i {1,..., k} true
61 Bloom Filter Menge M mit n Elementen k Hashfunktionen h 1,..., h k : {0, 1} u {0,..., m 1} Bild der Hashfunktionen gleichverteilt Hashfunktionen unabhängig voneinander Array A[0,..., m 1] von Bits insert(x): 1. setze A[h i (x)] = 1 für alle i {1,..., k} contains(x): 1. wenn A[h i (x)] = 1 für alle i {1,..., k} true 2. sonst false
62 Bloom Filter Beispiel k = 4 Hashfunktionen Array der Gröÿe m = 32 Bit
63 Bloom Filter Beispiel insert(x 1 ) x
64 Bloom Filter Beispiel contains(x 1 ) x 1 M?
65 Bloom Filter Beispiel contains(x 1 ) = true x 1 M?
66 Bloom Filter Beispiel contains(x 2 ) x 2 M?
67 Bloom Filter Beispiel contains(x 2 )= false x 2 M?
68 Bloom Filter Beispiel insert(x 2 ) x
69 Bloom Filter Beispiel contains(x 3 ) x 3 M?
70 Bloom Filter Beispiel contains(x 3 ) = true, obwohl x 3 M x 3 M?
71 Bloom Filter Wie wahrscheinlich sind false positives? Wahrscheinlichkeit für 1 an Stelle i: Pr[A[i] = 1 nach n Einfügungen]
72 Bloom Filter Wie wahrscheinlich sind false positives? Wahrscheinlichkeit für 1 an Stelle i: Pr[A[i] = 1 nach n Einfügungen] = 1 Pr[A[i] = 0 nach n Einfügungen]
73 Bloom Filter Wie wahrscheinlich sind false positives? Wahrscheinlichkeit für 1 an Stelle i: Pr[A[i] = 1 nach n Einfügungen] = 1 Pr[A[i] = 0 nach n Einfügungen] = 1 (1 1/m) kn
74 Bloom Filter Wie wahrscheinlich sind false positives? Wahrscheinlichkeit für 1 an Stelle i: Pr[A[i] = 1 nach n Einfügungen] = 1 Pr[A[i] = 0 nach n Einfügungen] = 1 (1 1/m) kn 1 e kn/m
75 Bloom Filter Wie wahrscheinlich sind false positives? Wahrscheinlichkeit für 1 an Stelle i: Pr[A[i] = 1 nach n Einfügungen] = 1 Pr[A[i] = 0 nach n Einfügungen] = 1 (1 1/m) kn 1 e kn/m Wahrscheinlichkeit für false positive: f + ( 1 e kn/m) k
76 Bloom Filter Beispiel: n = Objekte m = Bit k = 7 unabhängige Hashfunktionen
77 Bloom Filter Beispiel: n = Objekte m = Bit k = 7 unabhängige Hashfunktionen Wahrscheinlichkeit für false positive < 1%
78 Bloom Filter Beispiel: n = Objekte m = Bit k = 7 unabhängige Hashfunktionen Wahrscheinlichkeit für false positive < 1% Speicherplatz m/n = 10 Bit pro Objekt! unabhängig von der Gröÿe der Objekte!
79 Bloom Filter Beispiel: n = Objekte m = Bit k = 7 unabhängige Hashfunktionen Wahrscheinlichkeit für false positive < 1% Speicherplatz m/n = 10 Bit pro Objekt! unabhängig von der Gröÿe der Objekte! Vorteile: sehr wenig Speicherplatz! ziemlich schnell Nachteil: Fehler möglich
3. Ü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
Mehr4.4.1 Statisches perfektes Hashing. des Bildbereichs {0, 1,..., n 1} der Hashfunktionen und S U, S = m n, eine Menge von Schlüsseln.
4.4 Perfektes Hashing Das Ziel des perfekten Hashings ist es, für eine Schlüsselmenge eine Hashfunktion zu finden, so dass keine Kollisionen auftreten. Die Größe der Hashtabelle soll dabei natürlich möglichst
MehrWie beim letzten Mal - bitte besucht: http://pingo.upb.de/549170 Ihr seid gleich wieder gefragt... Übung Algorithmen I 4.5.16 Lukas Barth lukas.barth@kit.edu (Mit Folien von Julian Arz, Timo Bingmann,
MehrINSTITUT 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
MehrIn vergleichsbasierten Suchbäumen wird nicht in Schlüssel hineingeschaut.
Binäre Suchbäume Tries (Folie 182, Seite 58 im Skript) In vergleichsbasierten Suchbäumen wird nicht in Schlüssel hineingeschaut. In Tries entspricht die ite Verzweigung dem iten Zeichen des Schlüssels.
MehrEs sei a 2 und b 2a 1. Definition Ein (a, b)-baum ist ein Baum mit folgenden Eigenschaften:
Binäre Suchbäume (a, b)-bäume (Folie 173, Seite 56 im Skript) Es sei a 2 und b 2a 1. Definition Ein (a, b)-baum ist ein Baum mit folgenden Eigenschaften: 1 Jeder Knoten hat höchstens b Kinder. 2 Jeder
MehrAlgorithmen und Datenstrukturen
1 Algorithmen und Datenstrukturen Wintersemester 2015/16 12. Vorlesung Hashing Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Übungen Begründen Sie grundsätzlich alle Behauptungen außer die Aufgabe
MehrÜbung Algorithmen I
Übung Algorithmen I.6.5 Christoph Striecks Christoph.Striecks@kit.edu (Mit Folien von Julian Arz, Timo Bingmann und Sebastian Schlag.) Roadmap Hinweise zur Übungsklausur (Weitere) Traversierungen von Binärbäumen
MehrAlgorithmen und Datenstrukturen SoSe 2008 in Trier. Henning Fernau Universität Trier
Algorithmen und Datenstrukturen SoSe 2008 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Algorithmen und Datenstrukturen Gesamtübersicht Organisatorisches / Einführung Grundlagen: RAM,
Mehr12. Ü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
MehrWörterbucher. Das Wörterbuch 1 / 71
Wörterbucher Das Wörterbuch 1 / 71 Der abstrakte Datentyp Wörterbuch Ein Wörterbuch für eine gegebene Menge S besteht aus den folgenden Operationen: insert(x): Füge x zu S hinzu, d.h. setze S = S {x}.
MehrKapitel 9 Suchalgorithmen
Kapitel 9 Suchalgorithmen Suchverfahren: Verfahren, das in einem Suchraum nach Mustern oder Objekten mit bestimmten Eigenschaften sucht. Vielfältige Anwendungsbereiche für Suchverfahren: u.a. Suchen in
MehrAsymptotische Laufzeitanalyse: Beispiel
Asyptotische Laufzeitanalyse: n = length( A ) A[j] = x GZ Algorithen u. Datenstrukturen 1 31.10.2013 Asyptotische Laufzeitanalyse: n = length( A ) A[j] = x GZ Algorithen u. Datenstrukturen 2 31.10.2013
MehrHashing. Algorithmen und Datenstrukturen II 1
Hashing Algorithmen und Datenstrukturen II 1 Einführendes Beispiel Ein Pizza-Lieferservice in Bielefeld speichert die Daten seiner Kunden: Name, Vorname, Adresse und Telefonnummer Wenn ein Kunde seine
Mehr4. Hashverfahren. geg.: Wertebereich D, Schlüsselmenge S = {s 1,..., s n } D. Menge A von Speicheradressen; oft: A = {0,..., m 1}
105 4. Hashverfahren geg.: Wertebereich D, Schlüsselmenge S = {s 1,..., s n } D Menge A von Speicheradressen; oft: A = {0,..., m 1} jedes Speicherverfahren realisiert h : D A mögliche Implementierungen
MehrGrundlagen der Programmierung
Grundlagen der Programmierung Algorithmen und Datenstrukturen Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Darüber hinaus sind viele Teile direkt aus der Vorlesung
MehrÜbersicht Datenstrukturen und Algorithmen. Literatur. Algorithmus: Wikipedia Definition. Vorlesung 1: Einführung. Prof. Dr.
Übersicht Datenstrukturen und Vorlesung 1: Prof. Dr. Erika Ábrahám Theorie Hybrider Systeme Informatik 2 http://ths.rwth-aachen.de/teaching/ss-14/ datenstrukturen-und-algorithmen/ Diese Präsentation verwendet
MehrDie mittlere Zeit zum Auffinden eines Elements in einer Hash-Tabelle beträgt, unter realistischen Annahmen, O(1).
Algorithmen und Datenstrukturen 213 9 Hash-Tabellen Viele Anwendungen erfordern dynamische Mengen, für welche die sog. Wörterbuch-Operationen INSERT, SEARCH und DELETE verfügbar sind. Beispiel: Symboltabelle
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 202/3 24. Vorlesung Amortisierte Analyse Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Hash-Tabellen Frage: Ziel: Problem: Lösung: Wie groß macht man
MehrUntersuchen Sie, inwiefern sich die folgenden Funktionen für die Verwendung als Hashfunktion eignen. Begründen Sie Ihre Antwort.
Prof. aa Dr. Ir. Joost-Pieter Katoen Christian Dehnert, Friedrich Gretz, Benjamin Kaminski, Thomas Ströder Tutoraufgabe 1 (Güte von Hashfunktionen): Untersuchen Sie, inwiefern sich die folgenden Funktionen
MehrLineares Programmieren
Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 03.05.2011 Nachtrag Art Gallery Problem Lässt sich der Triangulierungs-Algorithmus
MehrEinführung Elementare Datenstrukturen. Der Konstruktor muß den Listenkopf head erzeugen. Der Vorgänger und Nachfolger von head ist head selbst.
Einführung Elementare Datenstrukturen (Folie 38, Seite 23 im Skript) Der Konstruktor muß den Listenkopf head erzeugen. Der Vorgänger und Nachfolger von head ist head selbst. Einführung Elementare Datenstrukturen
MehrAlgorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015. Vorlesung 5, Donnerstag, 20.
Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 5, Donnerstag, 20. November 2014 (Wie baut man eine Hash Map, Universelles Hashing)
MehrAlgorithmentheorie Randomisierung. Robert Elsässer
Algorithmentheorie 03 - Randomisierung Robert Elsässer Randomisierung Klassen von randomisierten Algorithmen Randomisierter Quicksort Randomisierter Primzahltest Kryptographie 2 1. Klassen von randomisierten
MehrKlausur Algorithmen und Datenstrukturen
Technische Universität Braunschweig Sommersemester 2013 IBR - Abteilung Algorithmik Prof. Dr. Sándor Fekete Dr. Christiane Schmidt Stephan Friedrichs Klausur Algorithmen und Datenstrukturen 22.08.2013
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 10 (3.6.2014) Binäre Suchbäume I Algorithmen und Komplexität Zusätzliche Dictionary Operationen Dictionary: Zusätzliche mögliche Operationen:
MehrBäume, Suchbäume und Hash-Tabellen
Im folgenden Fokus auf Datenstrukturen, welche den assoziativen Zugriff (über einen bestimmten Wert als Suchkriterium) optimieren Bäume: Abbildung bzw. Vorberechnung von Entscheidungen während der Suche
Mehr16. All Pairs Shortest Path (ASPS)
. All Pairs Shortest Path (ASPS) All Pairs Shortest Path (APSP): Eingabe: Gewichteter Graph G=(V,E) Ausgabe: Für jedes Paar von Knoten u,v V die Distanz von u nach v sowie einen kürzesten Weg a b c d e
Mehr13. Binäre Suchbäume
1. Binäre Suchbäume Binäre Suchbäume realiesieren Wörterbücher. Sie unterstützen die Operationen 1. Einfügen (Insert) 2. Entfernen (Delete). Suchen (Search) 4. Maximum/Minimum-Suche 5. Vorgänger (Predecessor),
MehrMultiplikationsmethode. Informatik I. goldener Schnitt. Der goldene Schnitt. Einführung. Rainer Schrader. 30. Mai Konstruktionsmethode
Multiplikationsethode Inforatik I Einführung Rainer Schrader Zentru für Angewandte Inforatik Köln 30. Mai 005 zu (): Irrationale Zahlen sind eine gute Wahl. Erinnerung: Φ = 1 + 5 = 1.6180339887... ˆΦ =
MehrAlgorithmik Funke/Bahrdt/Krumpe/Mendel/Seybold SS Übungsblatt 4
Algorithmik Funke/Bahrdt/Krumpe/Mendel/Seybold SS 2015 http://www.fmi.informatik.uni-stuttgart.de/alg Institut für Formale Methoden der Informatik Universität Stuttgart Übungsblatt 4 Punkte: 50 Problem
MehrAlgorithmen & Datenstrukturen 1. Klausur
Algorithmen & Datenstrukturen 1. Klausur 7. Juli 2010 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 35 2 30 3 30 4 15 5 40 6 30 Gesamt 180 1 Seite 2 von 14 Aufgabe 1) Programm Analyse
Mehr3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel
3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel EADS 3.1 Konstruktion von minimalen Spannbäumen 16/36
Mehr6-1 A. Schwill Grundlagen der Programmierung II SS 2005
6-1 A. Schwill Grundlagen der Programmierung II SS 25 6. Suchen Suchen = Tätigkeit, in einem vorgegebenen Datenbestand alle Objekte zu ermitteln, die eine best. Bedingung, das Suchkriterium, erfüllen und
MehrDatenstrukturen. Mariano Zelke. Sommersemester 2012
Datenstrukturen Mariano Zelke Sommersemester 2012 Mathematische Grundlagen: Das Handwerkszeug Mariano Zelke Datenstrukturen 2/26 Formeln: n - i = n (n+1) 2 und - i=1 k i=0 a i = ak+1 1 a 1, falls a 1 Rechnen
MehrAlgorithmen & Datenstrukturen Lösungen zu Blatt 9 HS 16
Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Departement Informatik 24. November 2016 Markus
MehrKapitel 9. Komplexität von Algorithmen und Sortieralgorithmen
1 Kapitel 9 Komplexität von Algorithmen und Sortieralgorithmen Ziele 2 Komplexität von Algorithmen bestimmen können (in Bezug auf Laufzeit und auf Speicherplatzbedarf) Sortieralgorithmen kennenlernen:
MehrAmortisierte Laufzeitanalyse
Paris-Lodron Universität Salzburg 24 Januar, 2014 Inhaltsverzeichnis 1 Einführung Definition Beispiel:Stapeloperationen Beispiel: Binärzähler (1/2) Beispiel: Binärzähler (2/2) 2 Analyse der Stack mittels
MehrVorlesung Sicherheit
Vorlesung Sicherheit Dennis Hofheinz IKS, KIT 06.05.2013 1 / 25 Überblick 1 Hashfunktionen Erinnerung Angriffe auf Hashfunktionen Zusammenfassung Hashfunktionen 2 Asymmetrische Verschlüsselung Idee Beispiel:
MehrKapitel 9. Komplexität von Algorithmen und Sortieralgorithmen
Kapitel 9 Komplexität von Algorithmen und Sortieralgorithmen Arrays 1 Ziele Komplexität von Algorithmen bestimmen können (in Bezug auf Laufzeit und auf Speicherplatzbedarf) Sortieralgorithmen kennenlernen:
MehrVorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg 19.04.2011
Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 19.04.2011 Überlagern von Kartenebenen Beispiel: Gegeben zwei
MehrInformatik II. Sommersemester 2011 IV/X/MMXI, Name:... Matrikelnummer:...
Prof. G. Zachmann Dipl.-Inf. D. Mohr TU Clausthal Institut für Informatik Klausur zu Informatik II Sommersemester 2011 IV/X/MMXI, 14 00 15 00 Name:......................... Matrikelnummer:.........................
MehrKlausur Datenstrukturen und Algorithmen SoSe 2012
Prof. aa Dr. Ir. Joost-Pieter Katoen Christian Dehnert, Jonathan Heinen, Thomas Ströder, Sabrina von Styp Klausur Datenstrukturen und Algorithmen SoSe 2012 Vorname: Nachname: Studiengang (bitte genau einen
MehrEffiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume
Effiziente Algorithmen und Datenstrukturen I Kapitel 9: Minimale Spannbäume Christian Scheideler WS 008 19.0.009 Kapitel 9 1 Minimaler Spannbaum Zentrale Frage: Welche Kanten muss ich nehmen, um mit minimalen
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
Mehr14. Rot-Schwarz-Bäume
Bislang: Wörterbuchoperationen bei binären Suchbäume effizient durchführbar, falls Höhe des Baums klein. Rot-Schwarz-Bäume spezielle Suchbäume. Rot-Schwarz-Baum mit n Knoten hat Höhe höchstens 2 log(n+1).
MehrRandomisierte Algorithmen 2. Erste Beispiele
Randomisierte Algorithmen Randomisierte Algorithmen 2. Erste Beispiele Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2016/2017 1 / 35 Randomisierter Identitätstest
MehrCustomization (Zuschneiden)
Customization (Zuschneiden) Anpassen der (Graph)Datenstruktur an die Anwendung. I Ziel: schnell, kompakt. I benutze Entwurfsprinzip: make the common case fast I Listen vermeiden Mögliches Problem: Software-Engineering-Alptraum
MehrTutoraufgabe 1 (2 3 4 Bäume):
Prof. aa Dr. E. Ábrahám Datenstrukturen und Algorithmen SS Übungsblatt (Abgabe.0.0) F. Corzilius, S. Schupp, T. Ströder Allgemeine Hinweise: Die Hausaufgaben sollen in Gruppen von je bis Studierenden aus
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
MehrAbgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g:
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 2 Prof. Dr. Helmut Seidl, S. Pott,
MehrAlgorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2013 / 2014 Vorlesung 11, Donnerstag, 16.
Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2013 / 2014 Vorlesung 11, Donnerstag, 16. Januar 2013 (Balancierte Suchbäume) Junior-Prof. Dr. Olaf Ronneberger
MehrAlgorithmen 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
MehrSortierte Folgen 250
Sortierte Folgen 250 Sortierte Folgen: he 1,...,e n i mit e 1 apple applee n kennzeichnende Funktion: M.locate(k):= addressof min{e 2 M : e k} Navigations Datenstruktur 2 3 5 7 11 13 17 19 00 Annahme:
MehrVorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz
Vorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz Datenstruktur BDD 1986 von R. Bryant vorgeschlagen zur Darstellung von aussagenlogischen Formeln (genauer: Booleschen Funktionen)
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 13 (18.6.2014) Binäre Suchbäume IV (Rot Schwarz Bäume) Algorithmen und Komplexität Rot Schwarz Bäume Ziel: Binäre Suchbäume, welche immer
MehrAlgorithmen und Datenstrukturen Kapitel 7 Dynamische Mengen, das Suchproblem &
Algorithmen und Datenstrukturen Kapitel 7 Dynamische Mengen, das Suchproblem & Frank Heitmann heitmann@informatik.uni-hamburg.de 25. November 2015 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/122
MehrKapitel 2: Analyse der Laufzeit von Algorithmen Gliederung
Gliederung 1. Motivation / Einordnung / Grundlagen 2. Analyse der Laufzeit von Algorithmen 3. Untere Schranken für algorithmische Probleme 4. Sortier- und Selektionsverfahren 5. Paradigmen des Algorithmenentwurfs
MehrSortieralgorithmen. Jan Pöschko. 18. Januar Problemstellung Definition Warum Sortieren?... 2
Jan Pöschko 18. Januar 2007 Inhaltsverzeichnis 1 Problemstellung 2 1.1 Definition................................... 2 1.2 Warum Sortieren?.............................. 2 2 Einfache Sortieralgorithmen
MehrErinnerung VL
Erinnerung VL 30.05.2016 Radix-Sort, Abschluss Sortieren Prioritätslisten: Warteschlange mit Prioritäten deletemin: kleinstes Element rausnehmen insert: Element einfügen Binäre Heaps als Implementierung
MehrName: Seite 2. Beantworten Sie die Fragen in den Aufgaben 1 und 2 mit einer kurzen, prägnanten Antwort.
Name: Seite 2 Beantworten Sie die Fragen in den Aufgaben 1 und 2 mit einer kurzen, prägnanten Antwort. Aufgabe 1 (8 Punkte) 1. Wie viele negative Zahlen (ohne 0) lassen sich im 4-Bit-Zweierkomplement darstellen?
MehrKlausur Informatik B. Teil 1: Informatik 3 Juli 2005
Klausur Informatik B Teil 1: Informatik 3 Juli 2005 ACHTUNG Die vorliegende wurde im Juli 2005 geschrieben. Sie umfaßt lediglich den Informatik-3-Teil der Informatik-B-Klausur und ist für eine Bearbeitungszeit
MehrKap. 4.4: B-Bäume Kap. 4.5: Dictionaries in der Praxis
Kap. 4.4: B-Bäume Kap. 4.5: Dictionaries in der Praxis Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 13./14. VO DAP2 SS 2009 2./4. Juni 2009 1 2. Übungstest
MehrTermine für Übungstests. Kap. 3 Sortieren HeapSort ff Priority Queues. Motivation. Überblick. Analyse SiftDown
Kap. Sortieren..5 HeapSort ff..6 Priority Queues Professor Dr. Vorlesung am Do 7.5. entfällt wegen FVV um Uhr Lehrstuhl für Algorithm Engineering, LS Fakultät für nformatik, TU Dortmund 7. VO DAP SS 009
MehrReferat zum Thema Huffman-Codes
Referat zum Thema Huffman-Codes Darko Ostricki Yüksel Kahraman 05.02.2004 1 Huffman-Codes Huffman-Codes ( David A. Huffman, 1951) sind Präfix-Codes und das beste - optimale - Verfahren für die Codierung
MehrAlgorithmen und Datenstrukturen SS09. Foliensatz 12. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik
Foliensatz 12 Michael Brinkmeier Technische Universität Ilmenau Institut für Theoretische Informatik Sommersemester 2009 TU Ilmenau Seite 1 / 98 Hashing TU Ilmenau Seite 2 / 98 Wörterbücher Sei U ein Universum
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen) sowie viele Tutoren Teilnehmerkreis und Voraussetzungen Studiengänge Bachelor
MehrS=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J
Greedy-Strategie Definition Paradigma Greedy Der Greedy-Ansatz verwendet die Strategie 1 Top-down Auswahl: Bestimme in jedem Schritt eine lokal optimale Lösung, so dass man eine global optimale Lösung
MehrSuchen und Sortieren Sortieren. Heaps
Suchen und Heaps (Folie 245, Seite 63 im Skript) 3 7 21 10 17 31 49 28 14 35 24 42 38 Definition Ein Heap ist ein Binärbaum, der die Heapeigenschaft hat (Kinder sind größer als der Vater), bis auf die
MehrSuchen in Listen und Hashtabellen
Kapitel 12: Suchen in Listen und Hashtabellen Einführung in die Informatik Wintersemester 2007/08 Prof. Bernhard Jung Übersicht Einleitung Lineare Suche Binäre Suche (in sortierten Listen) Hashverfahren
Mehr2.3.1 Einleitung Einfache Sortierverfahren Höhere Sortierverfahren Komplexität von Sortierverfahren Spezielle Sortierverfahren
2.3 Sortieren 2.3.1 Einleitung 2.3.2 Einfache Sortierverfahren 2.3.3 Höhere Sortierverfahren 2.3.4 Komplexität von Sortierverfahren 2.3.5 Spezielle Sortierverfahren 1 Selection-Sort Idee: Suche kleinstes
MehrEffiziente Algorithmen und Datenstrukturen I. Kapitel 10: Lineare Algebra
Effiziente Algorithmen und Datenstrukturen I Kapitel 10: Lineare Algebra Christian Scheideler WS 2008 19.02.2009 Kapitel 10 1 Überblick Notation Arithmetik auf großen Zahlen (Addition und Multiplikation)
MehrFortgeschrittene Programmiertechnik Klausur WS 2014/15 Angewandte Informatik Bachelor
Fortgeschrittene Programmiertechnik Klausur WS 2014/15 Angewandte Informatik Bachelor Name Matrikelnummer Aufgabe Punkte Aufgabe Punkte Zwischensumme 1 6 2 8 3 16 4 14 5 12 56 6 16 7 18 8 20 9 10 Summe
MehrViel Spaÿ! Aufgabe 0.1. Laufzeit unter Verdoppelung (-)
Datenstrukturen (DS) Sommersemester 2015 Prof. Dr. Georg Schnitger Dipl-Inf. Bert Besser Hannes Seiwert, M.Sc. Institut für Informatik AG Theoretische Informatik Übung 0 Ausgabe: 14.04.2015 Abgabe: - Wenn
MehrDer linke Teilbaum von v enthält nur Schlüssel < key(v) und der rechte Teilbaum enthält nur Schlüssel > key(v)
Ein Baum T mit Knotengraden 2, dessen Knoten Schlüssel aus einer total geordneten Menge speichern, ist ein binärer Suchbaum (BST), wenn für jeden inneren Knoten v von T die Suchbaumeigenschaft gilt: Der
Mehr2 Mengen und Abbildungen
2.1 Mengen Unter einer Menge verstehen wir eine Zusammenfassung von Objekten zu einem Ganzen. Die Objekte heiÿen Elemente. Ist M eine Menge und x ein Element von M so schreiben wir x M. Wir sagen auch:
MehrSeminarausarbeitung Entwurf und Analyse von Datenstrukturen. Splay Trees. Mirco Lukas und Alexander Werthmann. Datum: 26.06.2013
Julius-Maximilians-Universität Würzburg Institut für Informatik Lehrstuhl für Informatik I Effiziente Algorithmen und wissensbasierte Systeme Seminarausarbeitung Entwurf und Analyse von Datenstrukturen
MehrAVL-Bäume Analyse. Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl:
AVL-Bäume Analyse (Folie 85, Seite 39 im Skript) Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl: 0 falls n = 0 F n = 1 falls
Mehr! DBMS organisiert die Daten so, dass minimal viele Plattenzugriffe nötig sind.
Unterschiede von DBMS und files Speichern von Daten! DBMS unterstützt viele Benutzer, die gleichzeitig auf dieselben Daten zugreifen concurrency control.! DBMS speichert mehr Daten als in den Hauptspeicher
MehrStreaming Data: Das Modell
Streaming Data: Das Modell Berechnungen, bei fortlaufend einströmenden Daten (x t t 0), sind in Echtzeit zu erbringen. Beispiele sind: - Verkehrsmessungen im Internet, - Datenanalyse in der Abwehr einer
MehrProgrammieren in Haskell Felder (Arrays)
Programmieren in Haskell Felder (Arrays) Peter Steffen Universität Bielefeld Technische Fakultät 05.12.2008 1 Programmieren in Haskell Quadratzahlen 0 1 2 3 n 0 1 4 9 n 2 squareslist :: Integral a => [a]
MehrKapitel 9 Suchalgorithmen
Kapitel 9 Suchalgorithmen Technische Universität München Suchverfahren: Verfahren, das in einem Suchraum nach Mustern oder Objekten mit bestimmten Eigenschaften sucht. Vielfältige Anwendungsbereiche für
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Übung Simon Wacker Karlsruher Institut für Technologie Wintersemester 2015/2016 GBI Grundbegriffe der Informatik Karlsruher Institut für Technologie 1 / 13 Programmiersprachen
MehrEntscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?
Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum
MehrJAVA - Suchen - Sortieren
Übungen Informatik I JAVA - Suchen - Sortieren http://www.fbi-lkt.fh-karlsruhe.de/lab/info01/tutorial Übungen Informatik 1 Folie 1 Inhalt Suchen/Sortieren binary search mergesort bubblesort Übungen Informatik
MehrInformatik I Komplexität von Algorithmen
Leistungsverhalten von Algorithmen Informatik I Komplexität von Algorithmen G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Speicherplatzkomplexität: Wird primärer & sekundärer Speicherplatz
MehrAbschnitt: Algorithmendesign und Laufzeitanalyse
Abschnitt: Algorithmendesign und Laufzeitanalyse Definition Divide-and-Conquer Paradigma Divide-and-Conquer Algorithmen verwenden die Strategien 1 Divide: Teile das Problem rekursiv in Subproblem gleicher
MehrGrundlagen der Programmierung
Grundlagen der Programmierung Dr. Tom Kamphans 1. Vorlesung 12.10.2016 1 Organisatorisches Vorlesung: Mittwochs 14:00 15:30, Raum F 201 Übung: Mittwochs 15:45 19:00, Raum F 225 Übung: alle zwei Wochen
MehrDatenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen
MehrEinführung in die Kryptographie - Multiple Choice Quiz
Technische Universität Darmstadt Einführung in die Kryptographie - Multiple Choice Quiz Oren Halvani. M.Sc. Inf ormatik. Matrikel N o. Disclaimer Um was für ein Dokument handelt es sich hier genau?. Im
MehrJava. Wir verwenden oft Java für Datenstrukturen und Algorithmen. Die Vorlesung ist aber von der Programmiersprache unabhängig.
Komplexität von Algorithmen (Folie 34, Seite 18 im Skript) Wir verwenden oft für Datenstrukturen und Algorithmen. Die Vorlesung ist aber von der Programmiersprache unabhängig. Lernziel sind die einzelnen
MehrDatenstruktur, die viele Operationen dynamischer Mengen unterstützt
Algorithmen und Datenstrukturen 265 10 Binäre Suchbäume Suchbäume Datenstruktur, die viele Operationen dynamischer Mengen unterstützt Kann als Wörterbuch, aber auch zu mehr eingesetzt werden (Prioritätsschlange)
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
MehrAlgorithmen und Datenstrukturen Wintersemester 2004/ November T(n) = T(n a) + T(a) + n
Lehrstuhl für Praktische Informatik III Norman May B6, 29, Raum C0.05 68131 Mannheim Telefon: (0621) 181 2517 Email: norman@pi3.informatik.uni-mannheim.de Matthias Brantner B6, 29, Raum C0.05 68131 Mannheim
MehrDatenstrukturen und Algorithmen
Datenstrukturen und Algorithmen VO 708.031 27.10.2011 stefan.klampfl@tugraz.at 1 Wiederholung Wir vergleichen Algorithmen anhand des ordnungsmäßigen Wachstums von T(n), S(n), Asymptotische Schranken: O-Notation:
MehrBeispiellösungen zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 6
Robert Elsässer u.v.a. Paderborn, 29. Mai 2008 Beispiellösungen zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 6 Aufgabe 1 (6 Punkte): Zunächst sollte klar sein, daß ein vollständiger Binärer
MehrProf. H. Herbstreith Fachbereich Informatik. Leistungsnachweis. Informatik 1 WS 2001/2002
Prof. H. Herbstreith 30.01.2002 Fachbereich Informatik Leistungsnachweis Informatik 1 WS 2001/2002 Bearbeitungszeit 120 Minuten. Keine Hilfsmittel erlaubt. Aufgabe 1: 20 Punkte Vervollständigen Sie folgende
MehrGeometrie I. Sebastian Redinger Informatik 2 Programmiersysteme Martensstraße Erlangen
Geometrie I Sebastian Redinger 01.07.2015 Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Gliederung Grundlagen CCW Polygone Picks Theorem Konvexe Hülle - Graham Scan - Jarvis March 2 Gliederung
MehrKomplexität. G. Zachmann Clausthal University, Germany Leistungsverhalten von Algorithmen
lausthal Informatik II Komplexität von Algorithmen. Zachmann lausthal University, ermany zach@in.tu-clausthal.de Leistungsverhalten von Algorithmen Speicherplatzkomplexität: Wird primärer & sekundärer
MehrDatenstrukturen & Algorithmen
Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik Peter Widmayer
Mehr