sort hash uncompress merge & mark hash collisions

Größe: px
Ab Seite anzeigen:

Download "sort hash uncompress merge & mark hash collisions"

Transkript

1 Julian Arz, Timo Bingmann, Sebastian Schlag INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS hash sort... compress uncompress merge & mark hash collisions 1 KIT Julian Universität Arz, des Timo LandesBingmann, Baden-Württemberg Sebastian und Schlag nationales 3. Übung Forschungszentrum Algorithmen in der Helmholtz-Gemeinschaft I Institut für Theoretische Informatik

2 Organisatorisches 1. Programmieraufgabe Erwartet O(1)-Pager Abgabe über Praktomat: Codestyle und Kommentare! Plagiat = 0 Punkte 2 Julian Arz, Timo Bingmann, Sebastian Schlag

3 Hashtabellen: Beispielanwendung: Duplikaterkennung 3 Julian Arz, Timo Bingmann, Sebastian Schlag

4 Duplikaterkennung Problem: Gegeben: Folge A := a 1, a 2,..., a n von Zahlen Frage: Enthält A ein oder mehrere Duplikate a i = a j, i j? 4 Julian Arz, Timo Bingmann, Sebastian Schlag

5 Duplikaterkennung Problem: Gegeben: Folge A := a 1, a 2,..., a n von Zahlen Frage: Enthält A ein oder mehrere Duplikate a i = a j, i j? Ansatz 1: Löse Problem mit Sortieren Idee: Sortiere A A := a 1,..., a n. In A stehen Duplikate nebeneinander A von links nach rechts durchlesen liefert alle Duplikate Worst-Case Laufzeit: Ω(n log n) (siehe Vorlesung Sortieren & Co ) 4 Julian Arz, Timo Bingmann, Sebastian Schlag

6 Duplikaterkennung Problem: Gegeben: Folge A := a 1, a 2,..., a n von Zahlen Frage: Enthält A ein oder mehrere Duplikate a i = a j, i j? Ansatz 2: Verwende eine Hashtabelle H (mit verketteten Listen) Idee: Füge a 1,..., a n nacheinander in H ein Zahl schon drin: Duplikat erkannt! Laufzeit: Erwartet O(n) Bei zufälliger Hashfunktion und wenn H mindestens Ω(n) Slots hat 4 Julian Arz, Timo Bingmann, Sebastian Schlag

7 Erkennen von Duplikaten mittels Hashtabelle Beispiel Folge A := 9, 18, 42, 25, 33, 18, 104, Hashfunktion h(a) = a mod Julian Arz, Timo Bingmann, Sebastian Schlag

8 Erkennen von Duplikaten mittels Hashtabelle Beispiel Folge A := 9, 18, 42, 25, 33, 18, 104, Hashfunktion h(a) = a mod Julian Arz, Timo Bingmann, Sebastian Schlag

9 Erkennen von Duplikaten mittels Hashtabelle Beispiel Folge A := 9, 18, 42, 25, 33, 18, 104, Hashfunktion h(a) = a mod Julian Arz, Timo Bingmann, Sebastian Schlag

10 Erkennen von Duplikaten mittels Hashtabelle Beispiel Folge A := 9, 18, 42, 25, 33, 18, 104, Hashfunktion h(a) = a mod Julian Arz, Timo Bingmann, Sebastian Schlag

11 Erkennen von Duplikaten mittels Hashtabelle Beispiel Folge A := 9, 18, 42, 25, 33, 18, 104, Hashfunktion h(a) = a mod Julian Arz, Timo Bingmann, Sebastian Schlag

12 Erkennen von Duplikaten mittels Hashtabelle Beispiel Folge A := 9, 18, 42, 25, 33, 18, 104, Hashfunktion h(a) = a mod Julian Arz, Timo Bingmann, Sebastian Schlag

13 Erkennen von Duplikaten mittels Hashtabelle Beispiel Folge A := 9, 18, 42, 25, 33, 18, 104, Hashfunktion h(a) = a mod Julian Arz, Timo Bingmann, Sebastian Schlag

14 Erkennen von Duplikaten mittels Hashtabelle Beispiel Folge A := 9, 18, 42, 25, 33, 18, 104, Hashfunktion h(a) = a mod Schon enthalten! 5 Julian Arz, Timo Bingmann, Sebastian Schlag

15 Erkennen von Duplikaten mittels Hashtabelle 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.find(a) NIL then return true 5: H.insert(a) 6: end do 7: return false 6 Julian Arz, Timo Bingmann, Sebastian Schlag

16 Erkennen von Duplikaten mittels Hashtabelle Laufzeitanalyse Zwei Schritte 1 Erzeugen der Hashtabelle 2 Finden und Einfügen aller a i aus A = a 1,..., a n 7 Julian Arz, Timo Bingmann, Sebastian Schlag

17 Erkennen von Duplikaten mittels Hashtabelle Laufzeitanalyse Zwei Schritte 1 Erzeugen der Hashtabelle Alle Slots mit Null-Zeiger initialisieren Zeit: O( A ), da Tabelle A Slots hat 2 Finden und Einfügen aller a i aus A = a 1,..., a n 7 Julian Arz, Timo Bingmann, Sebastian Schlag

18 Erkennen von Duplikaten mittels Hashtabelle Laufzeitanalyse Zwei Schritte 1 Erzeugen der Hashtabelle Alle Slots mit Null-Zeiger initialisieren Zeit: O( A ), da Tabelle A Slots hat 2 Finden und Einfügen aller a i aus A = a 1,..., a n Zeit pro Einfügen: O(1) Zeit pro H.find(a): O(Listenlänge) Aber: Erwartete Laufzeit O(1) Denn: Tabelle hat A Slots Hierzu Satz aus Vorlesung: erwartete Listenlänge O(1) Gesamtzeit für Finden und Einfügen: erwartet O( A ) 7 Julian Arz, Timo Bingmann, Sebastian Schlag

19 Bloom Filter Approximate Membership Tester 8 Julian Arz, Timo Bingmann, Sebastian Schlag

20 Bloom Filter Randomisierte Datenstruktur repräsentiert Menge M von n u-bit Elementen (mit Hilfe von m un Bits) Operationen: insert(key k) contains(key k) : bool 9 Julian Arz, Timo Bingmann, Sebastian Schlag

21 Bloom Filter Randomisierte Datenstruktur repräsentiert Menge M von n u-bit Elementen (mit Hilfe von m un Bits) Operationen: insert(key k) contains(key k) : bool Ergebnis einer contains-abfrage: false: k M true: k ist wahrscheinlich in M, false positive mit Wahrscheinlichkeit f + 9 Julian Arz, Timo Bingmann, Sebastian Schlag

22 Bloom Filter Randomisierte Datenstruktur repräsentiert Menge M von n u-bit Elementen (mit Hilfe von m un Bits) Operationen: insert(key k) contains(key k) : bool Ergebnis einer contains-abfrage: false: k M true: k ist wahrscheinlich in M, false positive mit Wahrscheinlichkeit f + Anwendungsbeispiele: Spellchecking Webcrawling Google Chrome Safe Browsing 9 Julian Arz, Timo Bingmann, Sebastian Schlag

23 Bloom Filter Randomisierte Datenstruktur n Elemente k 1 Hashfunktionen h i array A[0..., m 1] von Bits 10 Julian Arz, Timo Bingmann, Sebastian Schlag

24 Bloom Filter Randomisierte Datenstruktur n Elemente k 1 Hashfunktionen h i array A[0..., m 1] von Bits insert(x): 1 setze A[h i (x)] = 1 i {1,..., k} 10 Julian Arz, Timo Bingmann, Sebastian Schlag

25 Bloom Filter Randomisierte Datenstruktur n Elemente k 1 Hashfunktionen h i array A[0..., m 1] von Bits insert(x): 1 setze A[h i (x)] = 1 i {1,..., k} contains(x): 1 wenn A[h i (x)] = 1 i {1,..., k} true 2 sonst false 10 Julian Arz, Timo Bingmann, Sebastian Schlag

26 Bloom Filter Beispiel k = 4 Hashfunktionen m = 32 Bits Julian Arz, Timo Bingmann, Sebastian Schlag

27 Bloom Filter Beispiel insert(x 1 ): x Julian Arz, Timo Bingmann, Sebastian Schlag

28 Bloom Filter Beispiel contains(x 1 ) true x 1 M? Julian Arz, Timo Bingmann, Sebastian Schlag

29 Bloom Filter Beispiel contains(x 2 ) false x 2 M? Julian Arz, Timo Bingmann, Sebastian Schlag

30 Bloom Filter Beispiel insert(x 2 ) x Julian Arz, Timo Bingmann, Sebastian Schlag

31 Bloom Filter Beispiel contains(y) true, obwohl y M y M? Julian Arz, Timo Bingmann, Sebastian Schlag

32 Bloom Filter Wie wahrscheinlich sind false positives? Annahme: Hashfunktionen haben uniform gleichverteiltes Bild p: WK, dass ein Bit = 1 nach n Einfügungen p = 1 ( 1 1 m ) kn 17 Julian Arz, Timo Bingmann, Sebastian Schlag

33 Bloom Filter Wie wahrscheinlich sind false positives? Annahme: Hashfunktionen haben uniform gleichverteiltes Bild p: WK, dass ein Bit = 1 nach n Einfügungen p = 1 ( 1 1 m ) kn 17 Julian Arz, Timo Bingmann, Sebastian Schlag

34 Bloom Filter Wie wahrscheinlich sind false positives? Annahme: Hashfunktionen haben uniform gleichverteiltes Bild p: WK, dass ein Bit = 1 nach n Einfügungen p = 1 ( 1 1 m ) kn 17 Julian Arz, Timo Bingmann, Sebastian Schlag

35 Bloom Filter Wie wahrscheinlich sind false positives? Annahme: Hashfunktionen haben uniform gleichverteiltes Bild p: WK, dass ein Bit = 1 nach n Einfügungen p = 1 ( 1 1 m ) kn 17 Julian Arz, Timo Bingmann, Sebastian Schlag

36 Bloom Filter Wie wahrscheinlich sind false positives? Annahme: Hashfunktionen haben uniform gleichverteiltes Bild p: WK, dass ein Bit = 1 nach n Einfügungen p = 1 ( 1 1 m ) kn 17 Julian Arz, Timo Bingmann, Sebastian Schlag

37 Bloom Filter Wie wahrscheinlich sind false positives? Annahme: Hashfunktionen haben uniform gleichverteiltes Bild p: WK, dass ein Bit = 1 nach n Einfügungen p = 1 ( ) 1 1 kn ( (1 ) m = 1 1 m ) kn/m m 17 Julian Arz, Timo Bingmann, Sebastian Schlag

38 Bloom Filter Wie wahrscheinlich sind false positives? Annahme: Hashfunktionen haben uniform gleichverteiltes Bild p: WK, dass ein Bit = 1 nach n Einfügungen p = 1 ( ) 1 1 kn ( (1 ) m = 1 1 m ) kn/m m 1 e kn/m 17 Julian Arz, Timo Bingmann, Sebastian Schlag

39 Bloom Filter Wie wahrscheinlich sind false positives? Annahme: Hashfunktionen haben uniform gleichverteiltes Bild p: WK, dass ein Bit = 1 nach n Einfügungen p = 1 ( ) 1 1 kn ( (1 ) m = 1 1 m ) kn/m m 1 e kn/m WK für false positive WK, dass alle k Hash-Bits 1 sind f + ( 1 e kn/m) k 17 Julian Arz, Timo Bingmann, Sebastian Schlag

40 Bloom Filter Wie wahrscheinlich sind false positives? Annahme: Hashfunktionen haben uniform gleichverteiltes Bild p: WK, dass ein Bit = 1 nach n Einfügungen p = 1 ( ) 1 1 kn ( (1 ) m = 1 1 m ) kn/m m 1 e kn/m WK für false positive WK, dass alle k Hash-Bits 1 sind f + ( 1 e kn/m) k optimialer Wert für k := m n ln 2 17 Julian Arz, Timo Bingmann, Sebastian Schlag

41 Bloom Filter Rechenbeispiel Wahrscheinlichkeit für false positive: ( 1 e kn/m) k n = Objekte m = Bits wähle k = 7 Wahrscheinlichkeit für false positive < 1% Vorteile: viel kompaktere Repräsentation als Abspeichern von Objekten z.b. Strings, Webseiten, Hashwerte, Julian Arz, Timo Bingmann, Sebastian Schlag

42 Beispiel aus der Forschung: Verteilte Duplikaterkennung mit minimalem Kommunikationsvolumen [Sanders Schlag Müller IEEE BigData 2013] 19 Julian Arz, Timo Bingmann, Sebastian Schlag

43 Verteilte Duplikaterkennung Problem große, verteilt vorliegende Datenmenge 20 Julian Arz, Timo Bingmann, Sebastian Schlag

44 Verteilte Duplikaterkennung Problem große, verteilt vorliegende Datenmenge wenige Duplikate 20 Julian Arz, Timo Bingmann, Sebastian Schlag

45 Verteilte Duplikaterkennung Problem große, verteilt vorliegende Datenmenge wenige Duplikate Finde alle Duplikate so schnell wie möglich mit möglichst wenig Kommunikation?? 20 Julian Arz, Timo Bingmann, Sebastian Schlag

46 Verteilte Duplikaterkennung Problem große, verteilt vorliegende Datenmenge wenige Duplikate Finde alle Duplikate so schnell wie möglich mit möglichst wenig Kommunikation Anwendungsgebiete: SQL DISTINCT Inkonsistenzen in sehr großen, verteilten Datenbanken fundamentales Problem in der Komplexitätstheorie?? 20 Julian Arz, Timo Bingmann, Sebastian Schlag

47 Verteilte Duplikaterkennung Ein klassischer Ansatz Hash-basierte Repartitionierung: a q r h w i d n o c j p y b t g u e k z l x v d o m f s 21 Julian Arz, Timo Bingmann, Sebastian Schlag

48 Verteilte Duplikaterkennung Ein klassischer Ansatz Hash-basierte Repartitionierung: a q r h w i d n o c j p y b t g u e k z l x v d o m f s icdghmrxf o wy p lqkn tjabe suzv Problem: jedes Element muss 1x verschickt werden Kommunikation wird schnell zum Flaschenhals 22 Julian Arz, Timo Bingmann, Sebastian Schlag

49 Verteilte Duplikaterkennung Zentrale Idee Vorverarbeitung: identifiziere möglichst viele distikte Elemente starke Reduktion der zu betrachtenden Gesamtmenge Filter Phase Repartitionierung 23 Julian Arz, Timo Bingmann, Sebastian Schlag

50 Verteilte Duplikaterkennung Wie funktioniert die Filter-Phase? Single Shot Bloom Filter [Putze S Singler SEA 2007] k = 1 Hashfunktion false positives mit WK f + = n m für geringes f + riesiger Bloom Filter nötig? n elements 1 hash function defines 1 bits m bits 24 Julian Arz, Timo Bingmann, Sebastian Schlag

51 Verteilte Duplikaterkennung Wie funktioniert die Filter-Phase? Compressed Single Shot Bloom Filter [Putze S Singler SEA 2007] Für geringes f + riesiger Bloom Filter nötig? Nein! Bitarray kann optimal komprimiert werden 30 % weniger Speicherplatzverbauch als Bloom Filter n elements 1 hash function defines 1 bits m bits 25 Julian Arz, Timo Bingmann, Sebastian Schlag

52 Verteilte Duplikaterkennung Wie funktioniert die Filter-Phase? Distributed (Compressed) Single Shot Bloom Filter (dsbf) [Sanders Schlag Müller IEEE BigData 2013] n elements PE 1 PE 2 PE p m bits Bei Konstruktion k mal weniger Kommunikation als verteilter, normaler Bloom Filter 26 Julian Arz, Timo Bingmann, Sebastian Schlag

53 Verteilte Duplikaterkennung Wie funktioniert die Filter-Phase? Filtern distinkter Elemente mittels dsbf: hash sort... compress uncompress merge & mark hash collisions 27 Julian Arz, Timo Bingmann, Sebastian Schlag

54 Verteilte Duplikaterkennung Effiziente Implementierung Shared-Memory Parallelisierung der lokalen Operationen Sortieren/Mergen von Integer-Werten schnelle Kompression Tuning von Kommunikationsoperationen hash sort... compress uncompress merge & mark hash collisions 28 Julian Arz, Timo Bingmann, Sebastian Schlag

55 Verteilte Duplikaterkennung Experimentelle Ergebnisse Elementgröße u = 832 Bits Eingabedaten n = p 2 27 d.h. 13 GB pro Knoten keine Duplikate Running time [s] Number of nodes RePart 1dSBF RePart 1dSBF RePart 1dSBF RePart 1dSBF RePart 1dSBF communication computation 29 Julian Arz, Timo Bingmann, Sebastian Schlag

56 Verteilte Duplikaterkennung Experimentelle Ergebnisse Elementgröße u = 832 Bits p = 64 Knoten (1024 cores) Eingabedaten n = 2 33 αn Duplikate Running time per element of node [ns] Duplication factor α RePart 1dSBF RePart 1dSBF RePart 1dSBF RePart 1dSBF RePart 1dSBF RePart 1dSBF communication computation 30 Julian Arz, Timo Bingmann, Sebastian Schlag

57 Verteilte Duplikaterkennung Experimentelle Ergebnisse Kommunikationsvolumen: 31 Julian Arz, Timo Bingmann, Sebastian Schlag

3. Übung Algorithmen I

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:

Mehr

4. Übung zu Algorithmen I 17. Mai 2017

4. Übung zu Algorithmen I 17. Mai 2017 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) Organisatorisches

Mehr

INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS

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

Mehr

3. Übung Algorithmen I

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

Mehr

Algorithmen I - Tutorium 28 Nr. 3

Algorithmen I - Tutorium 28 Nr. 3 Algorithmen I - Tutorium 28 Nr. 3 18.05.2016: Spaß mit Listen, Arrays und amortisierter Analyse Marc Leinweber marc.leinweber@student.kit.edu INSTITUT FÜR THEORETISCHE INFORMATIK (ITI), PROF. DR. JÖRN

Mehr

INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS

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

Mehr

Algorithmen I - Tutorium 28 Nr. 6

Algorithmen I - Tutorium 28 Nr. 6 Algorithmen I - Tutorium 28 Nr. 6 08.06.2017: Spaß mit Sortieren, Aufgaben und Wiederholung Marc Leinweber marc.leinweber@student.kit.edu INSTITUT FÜR THEORETISCHE INFORMATIK (ITI), PROF. DR. JÖRN MÜLLER-QUADE

Mehr

4. Übung Algorithmen I

4. Ü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

Mehr

INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS

INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS Julian Arz, Timo Bingmann, Sebastian Schlag INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS KIT Julian Universität Arz, des Timo LandesBingmann, Baden-Württemberg Sebastian und Schlag nationales 7.

Mehr

Übung Algorithmen I

Übung Algorithmen I Übung Algorithmen I 10.5.17 Sascha Witt sascha.witt@kit.edu (Mit Folien von Lukas Barth, Julian Arz, Timo Bingmann, Sebastian Schlag und Christoph Striecks) Roadmap Listen Skip List Hotlist Amortisierte

Mehr

INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS

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

Mehr

Algorithmen I - Tutorium 28 Nr. 7

Algorithmen I - Tutorium 28 Nr. 7 Algorithmen I - Tutorium 28 Nr. 7 14.07.2016: Spaß mit Heaps und weiteren Baeumen Marc Leinweber marc.leinweber@student.kit.edu INSTITUT FÜR THEORETISCHE INFORMATIK (ITI), PROF. DR. JÖRN MÜLLER-QUADE KIT

Mehr

5.8.2 Erweiterungen Dynamische Hash-Funktionen (mit variabler Tabellengröße)?

5.8.2 Erweiterungen Dynamische Hash-Funktionen (mit variabler Tabellengröße)? 5.8.2 Erweiterungen Dynamische Hash-Funktionen (mit variabler Tabellengröße)? Ladefaktor: α, n aktuelle Anzahl gespeicherter Werte m Tabellengröße. Einfacher Ansatz: rehash() a z c h s r b s h a z Wenn

Mehr

1. Übung Algorithmen I

1. Ü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

Mehr

Informatik II, SS 2018

Informatik II, SS 2018 Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 15b (13.06.2018) Graphenalgorithmen IV Algorithmen und Komplexität Prims MST-Algorithmus A = while A ist kein Spannbaum do e = u, v ist

Mehr

13. Hashing. AVL-Bäume: Frage: Suche, Minimum, Maximum, Nachfolger in O(log n) Einfügen, Löschen in O(log n)

13. Hashing. AVL-Bäume: Frage: Suche, Minimum, Maximum, Nachfolger in O(log n) Einfügen, Löschen in O(log n) AVL-Bäume: Ausgabe aller Elemente in O(n) Suche, Minimum, Maximum, Nachfolger in O(log n) Einfügen, Löschen in O(log n) Frage: Kann man Einfügen, Löschen und Suchen in O(1) Zeit? 1 Hashing einfache Methode

Mehr

Erinnerung VL vom

Erinnerung VL vom Erinnerung VL vom 09.05.2016 Analyse von Hashtabellen mit verketteten Listen Erwartete Laufzeit O(1) bei zuf. Hashfkt. und falls M O(m) Guter Ersatz (hier) für zuf. Hashfkt.: universelle Hashfunktionen

Mehr

Humboldt-Universität zu Berlin Berlin, den Institut für Informatik

Humboldt-Universität zu Berlin Berlin, den Institut für Informatik Humboldt-Universität zu Berlin Berlin, den 15.06.2015 Institut für Informatik Prof. Dr. Ulf Leser Übungen zur Vorlesung M. Bux, B. Grußien, J. Sürmeli, S. Wandelt Algorithmen und Datenstrukturen Übungsblatt

Mehr

12. Hashing. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete.

12. Hashing. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete. Worst-case Zeit für Search: Θ(n). In der Praxis jedoch sehr gut. Unter gewissen

Mehr

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 8 (13.5.2016) Hashtabellen I Algorithmen und Komplexität Dictionary mit sortiertem Array Laufzeiten: create: O(1) insert: O(n) find: O(log

Mehr

Wie 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,

Mehr

Hashing I. 1 Direkte Adressierung. 2 Grundlagen des Hashings. 3 Kollisionsauflösung durch Verkettung. 4 Hashfunktionen. 5 Offene Adressierung

Hashing I. 1 Direkte Adressierung. 2 Grundlagen des Hashings. 3 Kollisionsauflösung durch Verkettung. 4 Hashfunktionen. 5 Offene Adressierung Übersicht Datenstrukturen und Algorithmen Vorlesung 2: Hashing Prof. Dr. Erika Ábrahám Theorie Hybrider Systeme Informatik 2 http://ths.rwth-aachen.de/teaching/ss-4/ datenstrukturen-und-algorithmen/ Diese

Mehr

Übung Algorithmen I

Übung Algorithmen I Übung Algorithmen I 20.5.15 Christoph Striecks Christoph.Striecks@kit.edu (Mit Folien von Julian Arz, Timo Bingmann und Sebastian Schlag.) Roadmap Organisation Mergesort, Quicksort Dual Pivot Quicksort

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Vorlesung Informatik 2 Algorithmen und Datenstrukturen Vorlesung Informatik 2 Algorithmen und Datenstrukturen (12 Hashverfahren: Verkettung der Überläufer) Prof. Dr. Susanne Albers Möglichkeiten der Kollisionsbehandlung Kollisionsbehandlung: Die Behandlung

Mehr

Informatik II, SS 2018

Informatik II, SS 2018 Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 6 (7.5.2018) Dictionaries, Binäre Suche, Hashtabellen I / Yannic Maus Algorithmen und Komplexität Abstrakte Datentypen : Dictionary Dictionary:

Mehr

Übungsklausur Algorithmen I

Ü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

Mehr

Hashing II. Übersicht. 1 Hashing und Verkettung. 2 Offene Adressierung

Hashing II. Übersicht. 1 Hashing und Verkettung. 2 Offene Adressierung Übersicht Datenstrukturen und Algorithmen Vorlesung 13: 1 Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://moves.rwth-aachen.de/teaching/ss-15/dsal/ 2 Effizienz

Mehr

Hashing II. Übersicht. 1 Hashing und Verkettung. 2 Offene Adressierung

Hashing II. Übersicht. 1 Hashing und Verkettung. 2 Offene Adressierung Übersicht Datenstrukturen und Algorithmen Vorlesung 13: 1 Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group https://moves.rwth-aachen.de/teaching/ss-18/dsal/ 2 Effizienz

Mehr

Informatik II, SS 2014

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

Mehr

Übungsklausur Algorithmen I

Übungsklausur Algorithmen I Name: Vorname: Matrikelnr.: Tutorium: Jun.-Prof. Hofheinz, Jun.-Prof. Meyerhenke (ITI, KIT) 08.06.2015 Übungsklausur Algorithmen I Aufgabe 1. (Algorithm Engineering) [2 Punkte] Nennen Sie zwei Konzepte,

Mehr

7. Übung zu Algorithmen I 1. Juni 2016

7. Übung zu Algorithmen I 1. Juni 2016 7. Übung zu Algorithmen I 1. Juni 2016 Lukas Barth lukas.barth@kit.edu (mit Folien von Lisa Kohl) Roadmap Ganzzahliges Sortieren mit reellen Zahlen Schnellere Priority Queues Bucket Queue Radix Heap Organisatorisches

Mehr

Übung zu Algorithmen I 31. Mai 2017

Übung zu Algorithmen I 31. Mai 2017 Übung zu Algorithmen I 31. Mai 2017 Sascha Witt sascha.witt@kit.edu (mit Folien von Lukas Barth und Lisa Kohl) 1 / 25 Organisatorisches Korrigierte Übungsblätter Tutoren behalten Übungsblätter ca. zwei

Mehr

6/23/06. Universelles Hashing. Nutzen des Universellen Hashing. Problem: h fest gewählt es gibt ein S U mit vielen Kollisionen

6/23/06. Universelles Hashing. Nutzen des Universellen Hashing. Problem: h fest gewählt es gibt ein S U mit vielen Kollisionen Universelles Hashing Problem: h fest gewählt es gibt ein S U mit vielen Kollisionen wir können nicht annehmen, daß die Keys gleichverteilt im Universum liegen (z.b. Identifier im Programm) könnte also

Mehr

Algorithmen I - Tutorium 28 Nr. 2

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 marc.leinweber@student.kit.edu INSTITUT FÜR THEORETISCHE INFORMATIK

Mehr

3. Übungsblatt zu Algorithmen I im SoSe 2017

3. Übungsblatt zu Algorithmen I im SoSe 2017 Karlsruher Institut für Technologie Prof. Dr. Jörn Müller-Quade Institut für Theoretische Informatik Björn Kaidel, Sebastian Schlag, Sascha Witt 3. Übungsblatt zu Algorithmen I im SoSe 2017 http://crypto.iti.kit.edu/index.php?id=799

Mehr

Algorithmen I - Tutorium 28 Nr. 9

Algorithmen I - Tutorium 28 Nr. 9 Algorithmen I - Tutorium 28 Nr. 9 29.06.2017: Spaß mit Graphen und Graphtraversierung Marc Leinweber marc.leinweber@student.kit.edu INSTITUT FÜR THEORETISCHE INFORMATIK (ITI), PROF. DR. JÖRN MÜLLER-QUADE

Mehr

Übersicht. Datenstrukturen und Algorithmen. Einführung (II) Einführung (I) Vorlesung 12: Hashing I (K11) Counting Sort. Joost-Pieter Katoen

Übersicht. Datenstrukturen und Algorithmen. Einführung (II) Einführung (I) Vorlesung 12: Hashing I (K11) Counting Sort. Joost-Pieter Katoen Übersicht Datenstrukturen und Algorithen Vorlesung 2: (K) Joost-Pieter Katoen Lehrstuhl für Inforatik 2 Software Modeling and Verification Group https://oves.rwth-aachen.de/teaching/ss-8/dsal/ 4. Juni

Mehr

Übung Algorithmen I

Übung Algorithmen I Übung Algorithmen I 18.5.16 Lukas Barth lukas.barth@kit.edu (Mit Folien von Julian Arz, Timo Bingmann, Sebastian Schlag und Christoph Striecks) Roadmap Sortieren Kleine Wiederholung Visualisierungen Adaptives

Mehr

4.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.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

Mehr

Algorithmen und Datenstrukturen

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

Mehr

Übung Algorithmen I

Übung Algorithmen I Übung Algorithmen I 24.5.17 Sascha Witt sascha.witt@kit.edu (Mit Folien von Lukas Barth, Julian Arz, Timo Bingmann, Sebastian Schlag und Christoph Striecks) Organisatorisches Übungsklausur Am 21.06.2017

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Große Übung #6 Phillip Keldenich, Arne Schmidt 26.02.2017 Heute: Master-Theorem Phillip Keldenich, Arne Schmidt Große Übung 2 Vorbetrachtungen Wir betrachten rekursive Gleichungen

Mehr

Informatik II Prüfungsvorbereitungskurs

Informatik II Prüfungsvorbereitungskurs Informatik II Prüfungsvorbereitungskurs Tag 4, 23.6.2016 Giuseppe Accaputo g@accaputo.ch 1 Programm für heute Repetition Datenstrukturen Unter anderem Fragen von gestern Point-in-Polygon Algorithmus Shortest

Mehr

Lösungsvorschläge zur Hauptklausur 1661 Datenstrukturen I

Lösungsvorschläge zur Hauptklausur 1661 Datenstrukturen I Lösungsvorschläge zur Hauptklausur 1661 Datenstrukturen I 12.08.2006 Seite 2 Lösungsvorschläge zur Klausur vom 12.08.2006 Kurs 1661 Datenstrukturen I Aufgabe 1 (a) algebra sammlung sorts sammlung, marke,

Mehr

Teil VII. Hashverfahren

Teil VII. Hashverfahren Teil VII Hashverfahren Überblick 1 Hashverfahren: Prinzip 2 Hashfunktionen 3 Kollisionsstrategien 4 Aufwand 5 Hashen in Java Prof. G. Stumme Algorithmen & Datenstrukturen Sommersemester 2009 7 1 Hashverfahren:

Mehr

Algorithmen II Vorlesung am

Algorithmen II Vorlesung am Algorithmen II Vorlesung am 03.12.2013 Algorithmische Geometrie: Schnitte von Strecken Sweep-Line INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg

Mehr

Abstrakter Datentyp (ADT): Besteht aus einer Menge von Objekten, sowie Operationen, die auf diesen Objekten wirken.

Abstrakter Datentyp (ADT): Besteht aus einer Menge von Objekten, sowie Operationen, die auf diesen Objekten wirken. Abstrakte Datentypen und Datenstrukturen/ Einfache Beispiele Abstrakter Datentyp (ADT): Besteht aus einer Menge von Objekten, sowie Operationen, die auf diesen Objekten wirken. Datenstruktur (DS): Realisierung

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 17 (8.7.2014) Minimale Spannbäume II Union Find, Prioritätswarteschlangen Algorithmen und Komplexität Minimaler Spannbaum Gegeben: Zus. hängender,

Mehr

Algorithmen I - Tutorium 28 Nr. 11

Algorithmen I - Tutorium 28 Nr. 11 Algorithmen I - Tutorium 28 Nr. 11 13.07.2017: Spaß mit Schnitten, Kreisen und minimalen Spannbäumen Marc Leinweber marc.leinweber@student.kit.edu INSTITUT FÜR THEORETISCHE INFORMATIK (ITI), PROF. DR.

Mehr

Informatik II Prüfungsvorbereitungskurs

Informatik II Prüfungsvorbereitungskurs Informatik II Prüfungsvorbereitungskurs Tag 4, 9.6.2017 Giuseppe Accaputo g@accaputo.ch 1 Aufbau des PVK Tag 1: Java Teil 1 Tag 2: Java Teil 2 Tag 3: Algorithmen & Komplexität Tag 4: Dynamische Datenstrukturen,

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen Wintersemester 2016/17 13. Vorlesung Binäre Suchbäume Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Dynamische Menge verwaltet Elemente einer sich ändernden Menge

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT) Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2018 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München Organisatorisches: Keine Vorlesung nächste Woche wegen

Mehr

Randomisierte Datenstrukturen

Randomisierte Datenstrukturen Seminar über Algorithmen DozentInnen: Helmut Alt, Claudia Klost Randomisierte Datenstrukturen Ralph Schäfermeier 13. 2. 2007 Das Verwalten von Mengen, so dass ein schneller Zugriff auf deren Elemente gewährleistet

Mehr

1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit ** i=1

1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit ** i=1 Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 05/06 ITI Wagner. Musterlösung Problem : Average-case-Laufzeit vs. Worst-case-Laufzeit ** (a) Im schlimmsten Fall werden für jedes Element

Mehr

Programmiertechnik II

Programmiertechnik II Programmiertechnik II Hash-Tabellen Überblick Hashfunktionen: Abbildung von Schlüsseln auf Zahlen Hashwert: Wert der Hashfunktion Hashtabelle: Symboltabelle, die mit Hashwerten indiziert ist Kollision:

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 11 (4.6.2014) Binäre Suchbäume II Algorithmen und Komplexität Binäre Suchbäume Binäre Suchbäume müssen nicht immer so schön symmetrisch sein

Mehr

Konvexe Hülle im R 3 + WSPD

Konvexe Hülle im R 3 + WSPD Übung Algorithmische Geometrie Konvexe Hülle im R 3 + WSPD LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Andreas Gemsa 12.07.2012 Ablauf Konvexe Hülle im R 3

Mehr

B6.1 Introduction. Algorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. B6.1 Introduction. B6.3 Analyse. B6.4 Ordnungsbasierte Methoden

B6.1 Introduction. Algorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. B6.1 Introduction. B6.3 Analyse. B6.4 Ordnungsbasierte Methoden Algorithmen und Datenstrukturen 11. April 2018 B6. Binäre Suchbäume a Algorithmen und Datenstrukturen B6. Binäre Suchbäume 1 Marcel Lüthi and Gabriele Röger Universität Basel 11. April 2018 a Folien basieren

Mehr

Algorithmen I. Tutorium 1-4. Sitzung. Dennis Felsing

Algorithmen I. Tutorium 1-4. Sitzung. Dennis Felsing Algorithmen I Tutorium 1-4. Sitzung Dennis Felsing dennis.felsing@student.kit.edu www.stud.uni-karlsruhe.de/~ubcqr/algo 2011-05-09 Überblick 1 Verkettete Listen 2 Unbeschränkte Felder 3 Amortisierte Laufzeitanalyse

Mehr

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 10 (27.5.2016) Binäre Suchbäume II Algorithmen und Komplexität Zusätzliche Dictionary Operationen Dictionary: Zusätzliche mögliche Operationen:

Mehr

11. Übung Algorithmen I

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

Mehr

Bäume, Suchbäume und Hash-Tabellen

Bä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

Mehr

Dictionary Definition

Dictionary Definition Kapitel ADS:IV IV. Datenstrukturen Record Linear List Linked List Stack Queue Priority Queue Dictionary Direct-address Table Hash Function ADS:IV-60 Datenstrukturen POTTHAST 2018 Dictionary Definition

Mehr

Programmiertechnik II

Programmiertechnik II Hash-Tabellen Überblick Hashfunktionen: Abbildung von Schlüsseln auf Zahlen Hashwert: Wert der Hashfunktion Hashtabelle: Symboltabelle, die mit Hashwerten indiziert ist Kollision: Paar von Schlüsseln mit

Mehr

Abschnitt 19: Sortierverfahren

Abschnitt 19: Sortierverfahren Abschnitt 19: Sortierverfahren 19. Sortierverfahren 19.1 Allgemeines 19.2 Einfache Sortierverfahren 19.3 Effizientes Sortieren: Quicksort 19.4 Zusammenfassung 19 Sortierverfahren Informatik 2 (SS 07) 758

Mehr

Algorithmen I. Prof. Jörn Müller-Quade Institut für Theoretische Informatik Web: https://crypto.iti.kit.edu/index.php?

Algorithmen I. Prof. Jörn Müller-Quade Institut für Theoretische Informatik Web: https://crypto.iti.kit.edu/index.php? Algorithmen I Prof. Jörn Müller-Quade 17.05.2017 Institut für Theoretische Informatik Web: https://crypto.iti.kit.edu/index.php?id=799 (Folien von Peter Sanders) KIT Institut für Theoretische Informatik

Mehr

12. Übung Algorithmen I

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

Mehr

Abstrakte Datentypen und Datenstrukturen

Abstrakte Datentypen und Datenstrukturen Abstrakte Datentypen und Datenstrukturen Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 3. VO DAP2 SS 2008 15. April 2008 1 Überblick ADT Sequence ADT Stack

Mehr

Algorithmen und Datenstrukturen 2. Stefan Florian Palkovits, BSc Juni 2016

Algorithmen und Datenstrukturen 2. Stefan Florian Palkovits, BSc Juni 2016 Algorithmen und Datenstrukturen 2 Übung 1 Stefan Florian Palkovits, BSc 0926364 e0926364@student.tuwien.ac.at 12. Juni 2016 Aufgabe 1: Es existiert eine Reduktion von Problem A auf Problem B in O(n 3 +

Mehr

NAME, VORNAME: Studiennummer: Matrikel:

NAME, VORNAME: Studiennummer: Matrikel: TU Ilmenau, Fakultat IA Institut für Theoretische Informatik FG Komplexitätstheorie und Effiziente Algorithmen Prof. Dr. (USA) M. Dietzfelbinger Klausur Algorithmen und Datenstrukturen SS08, Ing.-Inf.

Mehr

Kap. 4.7 Skiplisten. 14./15. VO DAP2 SS /16. Juni 2009

Kap. 4.7 Skiplisten. 14./15. VO DAP2 SS /16. Juni 2009 Kap. 4.7 Skiplisten Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 14./15. VO DAP2 SS 2008 9./16. Juni 2009 1 2. Übungstest Termin: Di 16. Juni 2009 im AudiMax,

Mehr

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2013 / Vorlesung 10, Donnerstag 9.

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2013 / Vorlesung 10, Donnerstag 9. Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2013 / 2014 Vorlesung 10, Donnerstag 9. Januar 2014 (Verkettete Listen, Binäre Suchbäume) Junior-Prof. Dr.

Mehr

Algorithmen für Routenplanung 8. Sitzung, Sommersemester 2012 Thomas Pajor 21. Mai 2012

Algorithmen für Routenplanung 8. Sitzung, Sommersemester 2012 Thomas Pajor 21. Mai 2012 Algorithmen für Routenplanung 8. Sitzung, Sommersemester 2012 Thomas Pajor INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und nationales

Mehr

Algorithmen für Routenplanung 7. Sitzung, Sommersemester 2010 Thomas Pajor 28. Mai 2010

Algorithmen für Routenplanung 7. Sitzung, Sommersemester 2010 Thomas Pajor 28. Mai 2010 Algorithmen für Routenplanung 7. Sitzung, Sommersemester 2010 Thomas Pajor 28. Mai 2010 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK I PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg

Mehr

Digitale Signaturen. RSA-FDH & das Random Oracle Model Jiaxin Pan (Slides from Björn Kaidel and Gunnar Hartung)

Digitale Signaturen. RSA-FDH & das Random Oracle Model Jiaxin Pan (Slides from Björn Kaidel and Gunnar Hartung) Digitale Signaturen RSA-FDH & das Random Oracle Model Jiaxin Pan (Slides from Björn Kaidel and Gunnar Hartung) FAKULTÄT FÜR INFORMATIK, INSTITUT FÜR THEORETISCHE INFORMATIK 0 2018-10-26 B. Kaidel Digitale

Mehr

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Suchen. Lineare Suche. Such-Algorithmen. Sommersemester Dr.

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Suchen. Lineare Suche. Such-Algorithmen. Sommersemester Dr. Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 0 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Fortgeschrittene Datenstrukturen Such-Algorithmen

Mehr

Grundlagen: Algorithmen und Datenstrukturen

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 Mittelklausur 5. Juli 2011 Grundlagen: Algorithmen und Datenstrukturen

Mehr

Übung Algorithmen und Datenstrukturen

Ü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

9. Übung Algorithmen I

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

Mehr

Sortieren & Co. KIT Institut für Theoretische Informatik

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

Mehr

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 208 (Algorithmen & Datenstrukturen) Vorlesung 4 (..208) Graphenalgorithmen III Algorithmen und Komplexität Bäume Gegeben: Zusammenhängender, ungerichteter Graph G = V, E Baum: Zusammenhängender,

Mehr

Verteilte Algorithmen und Datenstrukturen. Prof. Dr. Christian Scheideler Institut für Informatik Universität Paderborn

Verteilte Algorithmen und Datenstrukturen. Prof. Dr. Christian Scheideler Institut für Informatik Universität Paderborn Verteilte Algorithmen und Datenstrukturen Prof. Dr. Christian Scheideler Institut für Informatik Universität Paderborn Verteilte Algorithmen und Datenstrukturen Vorlesung: Mi 14:15-15:45 Uhr, F0.530 Übung:

Mehr

Informatik II. Giuseppe Accaputo, Felix Friedrich, Patrick Gruntz, Tobias Klenze, Max Rossmannek, David Sidler, Thilo Weghorn FS 2017

Informatik II. Giuseppe Accaputo, Felix Friedrich, Patrick Gruntz, Tobias Klenze, Max Rossmannek, David Sidler, Thilo Weghorn FS 2017 1 Informatik II Übung 8 Giuseppe Accaputo, Felix Friedrich, Patrick Gruntz, Tobias Klenze, Max Rossmannek, David Sidler, Thilo Weghorn FS 2017 Heutiges Programm 2 1 Hashtabellen 2 Wiederholung Verkettete

Mehr

Effizienter Planaritätstest Vorlesung am

Effizienter Planaritätstest Vorlesung am Effizienter Planaritätstest Vorlesung am 23.04.2014 INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER Satz Gegebenen einen Graphen G = (V, E) mit n Kanten und m Knoten, kann in O(n + m) Zeit

Mehr

Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen Übung Algorithmen und Datenstrukturen Sommersemester 16 Patrick Schäfer, Humboldt-Universität zu Berlin Agenda 1. Fragen zum zweiten Übungsblatt? 2. Vorbesprechung des dritten Übungsblatts 3. Beispielaufgaben

Mehr

Übung Algorithmen I

Ü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

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Vorlesung Informatik 2 Algorithmen und Datenstrukturen Vorlesung Informatik 2 Algorithmen und Datenstrukturen (13 Offenes Hashing) Prof. Dr. Susanne Albers Hashing: Allgemeiner Rahmen Schlüsselmenge S Universum U aller möglichen Schlüssel Hashfunktion h 0,,m-1

Mehr

Informatik II, SS 2018

Informatik II, SS 2018 Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 4 (30.4.2018) Sortieren IV Algorithmen und Komplexität Analyse Merge Sort Laufzeit T(n) setzt sich zusammen aus: Divide und Merge: O n

Mehr

Anwendungsbeispiel MinHeap

Anwendungsbeispiel MinHeap Anwendungsbeispiel MinHeap Uns seien n ganze Zahlen gegeben und wir möchten darin die k größten Zahlen bestimmen; zudem gelten, dass n deutlich größer als k ist Wir können das Problem mit Laufzeit in O(n

Mehr

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden zur Netzwerkanalyse Algorithmische Methoden zur Netzwerkanalyse Prof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund für Theoretische

Mehr

Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen Übung Algorithmen und Datenstrukturen Sommersemester 217 Marc Bux, Humboldt-Universität zu Berlin Agenda 1. Graphen und Bäume 2. Binäre Suchbäume 3. AVL-Bäume 4. Algorithmen und Datenstrukturen 2 Agenda

Mehr

Datenstrukturen sind neben Algorithmen weitere wichtige Bausteine in der Informatik

Datenstrukturen sind neben Algorithmen weitere wichtige Bausteine in der Informatik 5. Datenstrukturen Motivation Datenstrukturen sind neben Algorithmen weitere wichtige Bausteine in der Informatik Eine Datenstruktur speichert gegebene Daten und stellt auf diesen bestimmte Operationen

Mehr

Übungsklausur Algorithmen I

Übungsklausur Algorithmen I Universität Karlsruhe, Institut für Theoretische Informatik Prof. Dr. P. Sanders 26.5.2010 svorschlag Übungsklausur Algorithmen I Hiermit bestätige ich, dass ich die Klausur selbständig bearbeitet habe:

Mehr

Karlsruher Institut für Technologie Institut für Theoretische Informatik. Klausur Algorithmen I

Karlsruher Institut für Technologie Institut für Theoretische Informatik. Klausur Algorithmen I Name: Vorname: Matrikelnummer: Klausur-ID: svorschlag Karlsruher Institut für Technologie Institut für Theoretische Informatik Jun.-Prof. D. Hofheinz, Jun.-Prof. H. Meyerhenke 8.09.05 Klausur Algorithmen

Mehr

Digitale Signaturen. RSA-FDH & das Random Oracle Model Björn Kaidel (mit Folien von Gunnar Hartung)

Digitale Signaturen. RSA-FDH & das Random Oracle Model Björn Kaidel (mit Folien von Gunnar Hartung) Digitale Signaturen RSA-FDH & das Random Oracle Model Björn Kaidel (mit Folien von Gunnar Hartung) FAKULTÄT FÜR INFORMATIK, INSTITUT FÜR THEORETISCHE INFORMATIK 0 2017-12-01 B. Kaidel Digitale Signaturen:

Mehr

Grundlagen der Algorithmen und Datenstrukturen Kapitel 4

Grundlagen der Algorithmen und Datenstrukturen Kapitel 4 Grundlagen der Algorithmen und Datenstrukturen Kapitel 4 Christian Scheideler + Helmut Seidl SS 2009 06.05.09 Kapitel 4 1 Wörterbuch-Datenstruktur S: Menge von Elementen Jedes Element e identifiziert über

Mehr

Lösungsvorschläge zur Klausur 1661 Datenstrukturen I

Lösungsvorschläge zur Klausur 1661 Datenstrukturen I Lösungsvorschläge zur Klausur 1661 Datenstrukturen I 23.09.2006 Seite 2 Lösungsvorschläge zur Klausur vom 23.09.2006 Kurs 1661 Datenstrukturen I Aufgabe 1 (a) algebra pointset sorts pointset, point, real,

Mehr