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.

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "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."

Transkript

1 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 klein sein Statisches perfektes Hashing Sei U = {0, 1,..., p 1}, p prim, das Universum, n N die Größe des Bildbereichs {0, 1,..., n 1} der Hashfunktionen und S U, S = m n, eine Menge von Schlüsseln. Eine Hashfunktion h : U {0, 1,..., n 1} partitioniert S in Buckets B i = {x S; h(x) = i}, für i = 0, 1,..., n 1. EADS 4.4 Perfektes Hashing 125/600

2 0 h 0 B 0 n 1 B n 1 p 1 Hashfunktion h mit Buckets B i Abbildung 1: Veranschaulichung einer Hashfunktion h mit Buckets B i. EADS 4.4 Perfektes Hashing 126/600

3 Definition 33 H = H 2,n bezeichne die Klasse aller Funktionen mit h a,b : U {0, 1,..., n 1} h a,b (x) = ((a x + b) mod p) mod n für alle x U, wobei 0 < a < p und 0 b < p. Lemma 34 H ist universell, d.h. für alle x, y U mit x y gilt Pr[h(x) = h(y)] 1 n, wenn h zufällig und gleichverteilt aus H gewählt wird. EADS 4.4 Perfektes Hashing 127/600

4 Beweis: Sei h a,b (x) = h a,b (y) = i. Dann ist i = (ax + b) mod p = (ay + b) mod p }{{}}{{} α β (mod n) Sei α {0,..., p 1} fest. Dann gibt es in der obigen Kongruenz p/n 1 Möglichkeiten für β, nämlich da α β und x y gilt. β {i, i + n, i + 2n,... } \ {α}, EADS 128/600

5 Beweis: Also gibt es höchstens ( p ) p 1 = p n (( p 1 n ) ) p(p 1) n Möglichkeiten für das Paar (α, β). Jedes Paar (α, β) bestimmt aber genau ein Paar (a, b), da Z p ein Körper ist. Weil es insgesamt p(p 1) Paare (a, b) gibt und h uniform zufällig aus H ausgewählt wird, folgt Pr[h(x) = h(y)] für jedes Paar x, y U mit x y. p(p 1)/n p(p 1) = 1 n EADS 4.4 Perfektes Hashing 128/600

6 Lemma 35 Sei S U, S = m. Dann gilt: 1 E [ n 1 ( ) ] Bi 2 i=0 m(m 1) 2n 2 B i 2 ] n 1 E[ i=0 m(m 1) n + m 3 4 Pr[h a,b ist injektiv auf S] 1 n 1 Pr[ m(m 1) 2n B i 2 < 4m] > 1 2, falls m n i=0 EADS 4.4 Perfektes Hashing 129/600

7 Beweis: Definiere die Zufallsvariablen X {x,y} für alle {x, y} S gemäß X {x,y} = { 1 falls h(x) = h(y), 0 sonst. Wegen Lemma 34 gilt E[X {x,y} ] = Pr[h(x) = h(y)] 1/n für alle Paare {x, y} S. Weiter ist E [ n 1 ( ) ] Bi = {{x, y} S; h(x) = h(y)} 2 i=0 ( ) m 1 2 n. EADS 4.4 Perfektes Hashing 130/600

8 Beweis (Forts.): Da x 2 = 2 (x 2) + x für alle x N, folgt B i 2 ] = E n 1 E[ i=0 [ n 1 i=0 ( 2 ( Bi 2 (1) m(m 1) 2 + m. 2n ) ) ] + B i Aus der Markov-Ungleichung (Pr[X t] E[X] t für alle t > 0) folgt [ n 1 ( ) ] Bi Pr[h a,b nicht injektiv auf S] = Pr 1 2 (1) i=0 m(m 1) 2n. EADS 4.4 Perfektes Hashing 131/600

9 Beweis (Forts.): Für m n folgt aus (2), dass B i 2 ] m + m = 2m. n 1 E[ i=0 Also folgt, wiederum mit Hilfe der Markov-Ungleichung, dass [ n 1 ] Pr B i 2 > 4m 1 4m 2m = 1 2. i=0 EADS 4.4 Perfektes Hashing 132/600

10 Die Struktur der perfekten Hashtabelle nach Michael L. Fredman, János Komlós, Endre Szemerédi: Storing a sparse table with O(1) worst case access time, Journal of the ACM 31(3), p (1984) verwendet ein zweistufiges Hashverfahren. Für einen gegebenen Schlüssel x wird zunächst i = h(x) berechnet, um über den Tabellenplatz T [i], b i, B i und h i H 2, Bi 2 zu ermitteln. Dann wird im Tabellenplatz T [b i + h i (x)] nachgeschaut, ob x da abgespeichert ist. Falls ja, wird true ausgegeben und sonst false. Falls n 1 B i 2 < 4n i=0 ist, so wird nur O(n) Platz verwendet. EADS 4.4 Perfektes Hashing 133/600

11 0 h 0 h i b i B i 2 n 1 p 1 Zweistufige Hashtabelle nach Fredman, Komlós und Szemerédi bbildung 2: Aufbau der zweistufigen Hashtabelle von Fredman, Komlos und Szemeredi ingabe: S U, S = n EADS 4.4 Perfektes Hashing 134/600

12 Algorithmus für Hashtabelle nach FKS: Eingabe: S U, S = m n Ausgabe: Hashtabelle nach FKS 1. Wähle h H 2,n zufällig. Berechne h(x) für alle x S. 2. Falls i B i 2 4m, dann wiederhole Konstruiere die Mengen B i für alle 0 i < n. 4. for i = 0 to n 1 do (a) wähle h i H 2, Bi 2 zufällig (b) falls h i auf B i nicht injektiv ist, wiederhole (a) EADS 4.4 Perfektes Hashing 135/600

13 Ein Durchlauf der Schleife bestehend aus den Schritten 1. und 2. benötigt Zeit O(n). Gemäß Lemma 35 ist die Wahrscheinlichkeit, dass Schritt 1. wiederholt werden muss, 1/2 für jedes neue h. Die Anzahl der Schleifendurchläufe ist also geometrisch verteilt mit Erfolgswahrscheinlichkeit 1/2, und es ergibt sich E[# Schleifendurchläufe] 2. Also ist der Zeitaufwand für diese Schleife O(n). Schritt 3. kostet offensichtlich ebenfalls Zeit O(n). EADS 4.4 Perfektes Hashing 136/600

14 Für jedes i {0,..., n 1} gilt, ebenfalls gemäß Lemma 35, dass Pr[h i ist auf B i injektiv] 1 B i ( B i 1) 2 B i 2 > 1 2. Damit ist auch hier die erwartete Anzahl der Schleifendurchläufe 2 und damit der erwartete Zeitaufwand O( B i 2 ). Insgesamt ergibt sich damit für Schritt 4. wie auch für den gesamten Algorithmus ein Zeitaufwand von O(n). EADS 4.4 Perfektes Hashing 137/600

15 4.4.2 Dynamisches perfektes Hashing Sei U = {0,..., p 1} für eine Primzahl p. Zunächst einige mathematische Grundlagen. Definition 36 H k,n bezeichne in diesem Abschnitt die Klasse aller Polynome Z p [x] vom Grad < k, wobei mit a = (a 0,..., a k 1 ) U k k 1 h a (x) = a j x j mod p mod n für alle x U. j=0 EADS 4.4 Perfektes Hashing 138/600

16 Definition 37 Eine Klasse H von Hashfunktionen von U nach {0,..., n 1} heißt (c, k)-universell, falls für alle paarweise verschiedenen x 0, x 1,..., x k 1 U und für alle i 0, i 1,..., i k 1 {0,..., n 1} gilt, dass Pr[h(x 0 ) = i 0 h(x k 1 ) = i k 1 ] c n k, wenn h H gleichverteilt gewählt wird. EADS 4.4 Perfektes Hashing 139/600

17 Satz 38 H k,n ist (c, k)-universell mit c = (1 + n p )k. Beweis: Da Z p ein Körper ist, gibt es für jedes Tupel (y 0,..., y k 1 ) U k genau ein Tupel (a 0,..., a k 1 ) Z k p mit k 1 a j x j r = y r mod p für alle 0 r < k. j=0 Da es sich hier um eine Vandermonde-Matrix handelt, folgt, dass { a; h a (x r ) = i r mod n für alle 0 r < k} = {(y 0,..., y k 1 ) U k ; y r = i r mod n für alle 0 r < k} p k. n EADS 4.4 Perfektes Hashing 140/600

18 Beweis (Forts.): Da es insgesamt p k Möglichkeiten für a gibt, folgt p k 1 Pr[h(x r ) = i r für alle 0 r < k] n p k ( p = n ) k n p ( < 1 + n ) k p 1 n k 1 n k. EADS 4.4 Perfektes Hashing 141/600

19 Kuckuck-Hashing für dynamisches perfektes Hashing Kuckuck-Hashing arbeitet mit zwei Hashtabellen, T 1 und T 2, die je aus den Positionen {0,..., n 1} bestehen. Weiterhin benötigt es zwei (1 + δ, O(log n))-universelle Hashfunktionen h 1 und h 2 für ein genügend kleines δ > 0, die die Schlüsselmenge U auf {0,..., n 1} abbilden. Jeder Schlüssel x S wird entweder in Position h 1 (x) in T 1 oder in Position h 2 (x) in T 2 gespeichert, aber nicht in beiden. Die IsElement-Operation prüft einfach, ob x an einer der beiden Positionen gespeichert ist. EADS 4.4 Perfektes Hashing 142/600

20 Die Insert-Operation verwendet nun das Kuckucksprinzip, um neue Schlüssel einzufügen. Gegeben ein einzufügender Schlüssel x, wird zunächst versucht, x in T 1 [h 1 (x)] abzulegen. Ist das erfolgreich, sind wir fertig. Falls aber T 1 [h 1 (x)] bereits durch einen anderen Schlüssel y besetzt ist, nehmen wir y heraus und fügen stattdessen x in T 1 [h 1 (x)] ein. Danach versuchen wir, y in T 2 [h 2 (y)] unterzubringen. Gelingt das, sind wir wiederum fertig. Falls T 2 [h 2 (y)] bereits durch einen anderen Schlüssel z besetzt ist, nehmen wir z heraus und fügen stattdessen y in T 2 [h 2 (y)] ein. Danach versuchen wir, z in T 1 [h 1 (z)] unterzubringen, und so weiter, bis wir endlich den zuletzt angefassten Schlüssel untergebracht haben. Formal arbeitet die Insert-Operation wie folgt: EADS 4.4 Perfektes Hashing 143/600

21 if T 1 [h 1 (x)] = x then return fi repeat MaxLoop times (a) exchange x und T 1 [h 1 (x)] (b) if x = NIL then return fi (c) exchange x und T 2 [h 2 (x)] (d) if x = NIL then return fi od rehash(); Insert(x) EADS 4.4 Perfektes Hashing 144/600

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

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Hashing Maike Buchin 2. und 4.5.2017 Motivation häufig werden Daten anhand eines numerischen Schlüssel abgespeichert Beispiele: Studenten der RUB nach Matrikelnummer Kunden einer

Mehr

Grundlagen: Algorithmen und Datenstrukturen

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

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

Beweis: Die obere Schranke ist klar, da ein Binärbaum der Höhe h höchstens

Beweis: Die obere Schranke ist klar, da ein Binärbaum der Höhe h höchstens Beweis: Die obere Schranke ist klar, da ein Binärbaum der Höhe h höchstens h 1 2 j = 2 h 1 j=0 interne Knoten enthalten kann. EADS 86/600 Beweis: Induktionsanfang: 1 ein AVL-Baum der Höhe h = 1 enthält

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

Dies ist gerade der konstruktive Schritt beim Aufbau von Binomialbäumen.

Dies ist gerade der konstruktive Schritt beim Aufbau von Binomialbäumen. Linken von Bäumen: Zwei Bäume desselben Wurzel-Rangs werden unter Einhaltung der Heap-Bedingung verbunden. Sind k 1 und k 2 die Wurzeln der zwei zu linkenden Bäume, so wird ein neuer Baum aufgebaut, dessen

Mehr

Kapitel III Selektieren und Sortieren

Kapitel III Selektieren und Sortieren Kapitel III Selektieren und Sortieren 1. Einleitung Gegeben: Menge S von n Elementen aus einem total geordneten Universum U, i N, 1 i n. Gesucht: i-kleinstes Element in S. Die Fälle i = 1 bzw. i = n entsprechen

Mehr

2. Entsprechende Listen P i von Vorgängern von i 3. for i := 1 to n do. (ii) S i = Knoten 2 + 1}

2. Entsprechende Listen P i von Vorgängern von i 3. for i := 1 to n do. (ii) S i = Knoten 2 + 1} 1. Berechne für jeden Knoten i in BFS-Art eine Liste S i von von i aus erreichbaren Knoten, so dass (i) oder (ii) gilt: (i) S i < n 2 + 1 und Si enthält alle von i aus erreichbaren Knoten (ii) S i = n

Mehr

Definition 77 Sei n N. Der Median (das mittlere Element) einer total geordneten Menge von n Elementen ist deren i-kleinstes Element, wobei n i =.

Definition 77 Sei n N. Der Median (das mittlere Element) einer total geordneten Menge von n Elementen ist deren i-kleinstes Element, wobei n i =. 2. Der Blum-Floyd-Pratt-Rivest-Tarjan Selektions-Algorithmus Definition 77 Sei n N. Der Median (das mittlere Element) einer total geordneten Menge von n Elementen ist deren i-kleinstes Element, wobei n

Mehr

Grundlagen: Algorithmen und Datenstrukturen

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

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

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Vorlesung Informatik 2 Algorithmen und Datenstrukturen Vorlesung Informatik 2 Algorithmen und Datenstrukturen (11 Hashverfahren: Allgemeiner Rahmen) Prof. Dr. Susanne Albers Das Wörterbuch-Problem (1) Das Wörterbuch-Problem (WBP) kann wie folgt beschrieben

Mehr

Es sei a 2 und b 2a 1. Definition Ein (a, b)-baum ist ein Baum mit folgenden Eigenschaften:

Es 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

Mehr

Hashing. Überblick Aufgabe Realisierung

Hashing. Überblick Aufgabe Realisierung Überblick Aufgabe Realisierung Aufgabe Realisierung Anforderungen Wahl einer Hashfunktion mit Verkettung der Überläufer Offene Universelles 2/33 Überblick Aufgabe Realisierung Aufgabe Dynamische Verwaltung

Mehr

Multiplikationsmethode. Informatik I. goldener Schnitt. Der goldene Schnitt. Einführung. Rainer Schrader. 30. Mai Konstruktionsmethode

Multiplikationsmethode. 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... ˆΦ =

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

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

Einwegfunktionen. Problemseminar. Komplexitätstheorie und Kryptographie. Martin Huschenbett. 30. Oktober 2008

Einwegfunktionen. Problemseminar. Komplexitätstheorie und Kryptographie. Martin Huschenbett. 30. Oktober 2008 Problemseminar Komplexitätstheorie und Kryptographie Martin Huschenbett Student am Institut für Informatik an der Universität Leipzig 30. Oktober 2008 1 / 33 Gliederung 1 Randomisierte Algorithmen und

Mehr

3. Binäre Suchbäume. 3.1 Natürliche binäre Suchbäume. EADS 3.1 Natürliche binäre Suchbäume 78/598 ľernst W. Mayr

3. Binäre Suchbäume. 3.1 Natürliche binäre Suchbäume. EADS 3.1 Natürliche binäre Suchbäume 78/598 ľernst W. Mayr 3. Binäre Suchbäume 3.1 Natürliche binäre Suchbäume Definition 18 Ein natürlicher binärer Suchbaum über einem durch total geordneten Universum U ist ein als interner Suchbaum organisierter Binärbaum (also:

Mehr

Algorithmen und Datenstrukturen

Algorithmen 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

Hashing Hashfunktionen Kollisionen Ausblick. Hashverfahren. Dank an: Beate Bollig, TU Dortmund! 1/42. Hashverfahren

Hashing Hashfunktionen Kollisionen Ausblick. Hashverfahren. Dank an: Beate Bollig, TU Dortmund! 1/42. Hashverfahren Dank an: Beate Bollig, TU Dortmund! 1/42 Hashing Überblick Aufgabe Realisierung Aufgabe Realisierung Anforderungen Wahl einer Hashfunktion mit Verkettung der Überläufer Offene Universelles Hashing 2/42

Mehr

Kapitel 4. Streuen. (h K injektiv) k 1 k 2 K = h(k 1 ) h(k 2 )

Kapitel 4. Streuen. (h K injektiv) k 1 k 2 K = h(k 1 ) h(k 2 ) Kapitel 4 Streuen Wir behandeln nun Ipleentationen ungeordneter Wörterbücher, in denen die Schlüssel ohne Beachtung ihrer Sortierreihenfolge gespeichert werden dürfen, verlangen aber, dass es sich bei

Mehr

14. Hashing. Motivation. Naive Ideen. Bessere Idee? k(s) = s i b i

14. Hashing. Motivation. Naive Ideen. Bessere Idee? k(s) = s i b i Motivation 14. Hashing Hash Tabellen, Geburtstagsparadoxon, Hashfunktionen, Perfektes und universelles Hashing, Kollisionsauflösung durch Verketten, offenes Hashing, Sondieren [Ottan/Widayer, Kap. 4.1-4.3.2,

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Teil Hash-Verfahren Version vom: 18. November 2016 1 / 28 Vorlesung 9 18. November 2016

Mehr

4. Hashverfahren. geg.: Wertebereich D, Schlüsselmenge S = {s 1,..., s n } D. Menge A von Speicheradressen; oft: A = {0,..., m 1}

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

Mehr

Lösungsvorschläge für das 7. Übungsblatt Letzte Änderung am 27. Juni 2001

Lösungsvorschläge für das 7. Übungsblatt Letzte Änderung am 27. Juni 2001 Grundlagen zu Datenstrukturen und Algorithen Schitt, Schöer SS 2001 http://www.pi-sb.pg.de/~sschitt/info5-ss01 U N S A R I V E R S A V I E I T A S N I S S Lösungsvorschläge für das 7. Übungsblatt Letzte

Mehr

Kollision Hashfunktion Verkettung Offenes Hashing Perfektes Hashing Universelles Hashing Dynamisches Hashing. 4. Hashverfahren

Kollision Hashfunktion Verkettung Offenes Hashing Perfektes Hashing Universelles Hashing Dynamisches Hashing. 4. Hashverfahren 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 von

Mehr

Algorithmen und Datenstrukturen II: Hashverfahren

Algorithmen und Datenstrukturen II: Hashverfahren Algorithmen und Datenstrukturen II: Hashverfahren Prof. Dr. Oliver Braun Letzte Änderung: 10.05.2017 16:21 Algorithmen und Datenstrukturen II: Hashverfahren 1/28 Hashverfahren bisher jeder Datensatz durch

Mehr

= 1. Falls ( a n. ) r i. i=1 ( b p i

= 1. Falls ( a n. ) r i. i=1 ( b p i Das Jacobi-Symbol Definition Jacobi-Symbol Sei n N ungerade mit Primfaktorzerlegung n = s definieren das Jacobi-Symbol ( a ( ) ri n) := s a i=1 p i. i=1 pr i i. Wir Anmerkungen: Falls a quadratischer Rest

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

Algorithmen und Datenstrukturen II: Hashverfahren

Algorithmen und Datenstrukturen II: Hashverfahren Algorithmen und Datenstrukturen II: Hashverfahren Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 10.05.2017 16:21 Inhaltsverzeichnis Hashverfahren....................................

Mehr

P ( Mindestens zwei Personen haben am gleichen Tag Geb. ) (1) = 1 P ( Alle Personen haben an verschiedenen Tagen Geb. ) (2)

P ( Mindestens zwei Personen haben am gleichen Tag Geb. ) (1) = 1 P ( Alle Personen haben an verschiedenen Tagen Geb. ) (2) 1 Hashing Einleitung Eine sehr naive Herangehensweise zur Implementierung eines Wörterbuchs ist die Benutzung eines hinreichend grossen unsortierten Arrays, in dem jeweils an eine freie Position eingefügt

Mehr

Unterlagen zu Polynomringen. Erhard Aichinger

Unterlagen zu Polynomringen. Erhard Aichinger Unterlagen zu Polynomringen Erhard Aichinger Linz, im November 2005 Alle Rechte vorbehalten 1 KAPITEL 1 Polynome und Körper 1. Körper DEFINITION 1.1. Ein kommutativer Ring mit Eins R R,,,, 0, 1 ist ein

Mehr

In vergleichsbasierten Suchbäumen wird nicht in Schlüssel hineingeschaut.

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

Mehr

Implementierung von Mengen (und Wörterbücher): Alternative zu Suchbäumen

Implementierung von Mengen (und Wörterbücher): Alternative zu Suchbäumen 5.8 HashVerfahren und Anwendungen Implementierung von Mengen (und Wörterbücher): Alternative zu Suchbäumen hash: zerhacken, Hackfleisch Grundidee: Indexierung der Tabelle mit geeignet transformierten Schlüsselwerten

Mehr

DWT 2.3 Ankunftswahrscheinlichkeiten und Übergangszeiten 400/467 Ernst W. Mayr

DWT 2.3 Ankunftswahrscheinlichkeiten und Übergangszeiten 400/467 Ernst W. Mayr 2. Ankunftswahrscheinlichkeiten und Übergangszeiten Bei der Analyse von Markov-Ketten treten oftmals Fragestellungen auf, die sich auf zwei bestimmte Zustände i und j beziehen: Wie wahrscheinlich ist es,

Mehr

Algorithmen 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. 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)

Mehr

Randomisierte Algorithmen 2. Erste Beispiele

Randomisierte 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

Mehr

Diskrete Mathematik 1

Diskrete Mathematik 1 Ruhr-Universität Bochum Lehrstuhl für Kryptologie und IT-Sicherheit Prof. Dr. Alexander May M. Ritzenhofen, M. Mansour Al Sawadi, A. Meurer Lösungsblatt zur Vorlesung Diskrete Mathematik 1 WS 008/09 Blatt

Mehr

Algorithmen und Datenstrukturen (für ET/IT) Programm heute. Sommersemester Dr. Tobias Lasser

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

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

Informatik I 5. Kapitel. Hashverfahren. Hashverfahren. Hashverfahren. Rainer Schrader. 3. Juni Gliederung

Informatik I 5. Kapitel. Hashverfahren. Hashverfahren. Hashverfahren. Rainer Schrader. 3. Juni Gliederung Informatik I 5. Kapitel Rainer Schrader Zentrum für Angewandte Informatik Köln 3. Juni 2008 1 / 86 2 / 86 Gliederung Adressberechnung durch Hashing Hashfunktionen Kollisionsbehandlung Anwendung von Hashfunktionen

Mehr

Themen. Hashverfahren. Stefan Szalowski Programmierung II Hashverfahren

Themen. Hashverfahren. Stefan Szalowski Programmierung II Hashverfahren Themen Hashverfahren Einleitung Bisher: Suchen in logarithmischer Zeit --> Binärsuche Frage: Geht es eventuell noch schneller/effektiver? Finden von Schlüsseln in weniger als logarithmischer Zeit Wichtig

Mehr

Übung zur Vorlesung Berechenbarkeit und Komplexität

Übung zur Vorlesung Berechenbarkeit und Komplexität RWTH Aachen Lehrgebiet Theoretische Informatik Reidl Ries Rossmanith Sanchez Tönnis WS 2012/13 Übungsblatt 7 26.11.2012 Übung zur Vorlesung Berechenbarkeit und Komplexität Aufgabe T15 Entwickeln Sie ein

Mehr

Hashing. Algorithmen und Datenstrukturen II 1

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

Mehr

Kongruenz modulo g definiert auf K[x] eine Äquivalenzrelation g : h g f h f ist durch g teilbar, und [f] g ist die Äquivalenzklasse von f.

Kongruenz modulo g definiert auf K[x] eine Äquivalenzrelation g : h g f h f ist durch g teilbar, und [f] g ist die Äquivalenzklasse von f. 3 Kongruenz modulo g definiert auf K[x] eine Äquivalenzrelation g : h g f h f ist durch g teilbar, und [f] g ist die Äquivalenzklasse von f 4 Auf der Menge aller Restklassen [f] g kann man Addition und

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

Bemerkungen. Gilt m [l] n, so schreibt man auch m l mod n oder m = l mod n und spricht. m kongruent l modulo n.

Bemerkungen. Gilt m [l] n, so schreibt man auch m l mod n oder m = l mod n und spricht. m kongruent l modulo n. 3.6 Restklassen in Polynomringen 3.6.1 Einführung und Definitionen Der Begriff der Restklasse stammt ursprünglich aus der Teilbarkeitslehre in Z; (Z = Z, +, ist ein kommutativer Ring). Definition 153 Sei

Mehr

Übersicht. Einführung Universelles Hashing Perfektes Hashing

Übersicht. Einführung Universelles Hashing Perfektes Hashing Hasing Übersict Einfürung Universelles Hasing Perfektes Hasing 2 Das Wörterbuc-Problem Gegeben: Universum U = [0 N-1], wobei N eine natürlice Zal ist. Ziel: Verwalte Menge S U mit folgenden Operationen.

Mehr

DWT 1.4 Rechnen mit kontinuierlichen Zufallsvariablen 234/467 Ernst W. Mayr

DWT 1.4 Rechnen mit kontinuierlichen Zufallsvariablen 234/467 Ernst W. Mayr 1.4.2 Kontinuierliche Zufallsvariablen als Grenzwerte diskreter Zufallsvariablen Sei X eine kontinuierliche Zufallsvariable. Wir können aus X leicht eine diskrete Zufallsvariable konstruieren, indem wir

Mehr

Fibonacci-Suche. Informatik I. Fibonacci-Suche. Fibonacci-Suche. Einführung. Rainer Schrader. 24. Mai 2005

Fibonacci-Suche. Informatik I. Fibonacci-Suche. Fibonacci-Suche. Einführung. Rainer Schrader. 24. Mai 2005 Fibonacci-Suche Informatik I Einführung Rainer Schrader Zentrum für Angewandte Informatik Köln 4. Mai 005 Grundidee wie bei der Binärsuche, aber andere Aufteilung Fibonacci-Zahlen: F 0 = 0 F 1 = 1 F m

Mehr

Algorithmen und Datenstrukturen Hashverfahren

Algorithmen und Datenstrukturen Hashverfahren Algorithmen und Datenstrukturen Hashverfahren Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Überblick Prinzip Details Anwendungen Motivation Hashverfahren

Mehr

Definition 153 Sei n eine fest gewählte ganze Zahl 0. Für jedes l Z heißt die Menge

Definition 153 Sei n eine fest gewählte ganze Zahl 0. Für jedes l Z heißt die Menge 3.6 Restklassen in Polynomringen 3.6.1 Einführung und Definitionen Der Begriff der Restklasse stammt ursprünglich aus der Teilbarkeitslehre in Z; (Z = Z, +, ist ein kommutativer Ring). Definition 153 Sei

Mehr

Pr[X t+1 = k] = Pr[X t+1 = k X t = i] Pr[X t = i], also. (q t+1 ) k = p ik (q t ) i, bzw. in Matrixschreibweise. q t+1 = q t P.

Pr[X t+1 = k] = Pr[X t+1 = k X t = i] Pr[X t = i], also. (q t+1 ) k = p ik (q t ) i, bzw. in Matrixschreibweise. q t+1 = q t P. 2.2 Berechnung von Übergangswahrscheinlichkeiten Wir beschreiben die Situation zum Zeitpunkt t durch einen Zustandsvektor q t (den wir als Zeilenvektor schreiben). Die i-te Komponente (q t ) i bezeichnet

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

Probabilistische Primzahltests

Probabilistische Primzahltests 23.01.2006 Motivation und Überblick Grundsätzliches Vorgehen Motivation und Überblick Als Primzahltest bezeichnet man ein mathematisches Verfahren, mit dem ermittelt wird, ob eine gegebene Zahl eine Primzahl

Mehr

Satz 61 (Chebyshev-Ungleichung)

Satz 61 (Chebyshev-Ungleichung) Die folgende Abschätzung ist nach Pavnuty Lvovich Chebyshev (1821 1894) benannt, der ebenfalls an der Staatl. Universität in St. Petersburg wirkte. Satz 61 (Chebyshev-Ungleichung) Sei X eine Zufallsvariable,

Mehr

Definition 15 Rot-Schwarz-Bäume sind externe Binärbäume (jeder Knoten hat 0 oder 2 Kinder) mit roten und schwarzen Kanten, so dass gilt:

Definition 15 Rot-Schwarz-Bäume sind externe Binärbäume (jeder Knoten hat 0 oder 2 Kinder) mit roten und schwarzen Kanten, so dass gilt: 2.2 Rot-Schwarz-Bäume Definition 15 Rot-Schwarz-Bäume sind externe Binäräume (jeder Knoten hat 0 oder 2 Kinder) mit roten und schwarzen Kanten, so dass gilt: 1 alle Blätter hängen an schwarzen Kanten (durchgezogene

Mehr

Kapitel II Kontinuierliche Wahrscheinlichkeitsräume

Kapitel II Kontinuierliche Wahrscheinlichkeitsräume Kapitel II Kontinuierliche Wahrscheinlichkeitsräume 1. Einführung 1.1 Motivation Interpretation der Poisson-Verteilung als Grenzwert der Binomialverteilung. DWT 1.1 Motivation 211/476 Beispiel 85 Wir betrachten

Mehr

Algorithmik Funke/Bahrdt/Krumpe/Mendel/Seybold SS Übungsblatt 4

Algorithmik 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

Mehr

5. Bäume und Minimalgerüste

5. Bäume und Minimalgerüste 5. Bäume und Minimalgerüste Charakterisierung von Minimalgerüsten 5. Bäume und Minimalgerüste Definition 5.1. Es ein G = (V, E) ein zusammenhängender Graph. H = (V,E ) heißt Gerüst von G gdw. wenn H ein

Mehr

Beispiel 37. Wir werfen eine Münze so lange, bis zum ersten Mal

Beispiel 37. Wir werfen eine Münze so lange, bis zum ersten Mal Beispiel 37 Wir werfen eine Münze so lange, bis zum ersten Mal Kopf erscheint. Dies geschehe in jedem Wurf unabhängig mit Wahrscheinlichkeit p. Wir definieren dazu die Zufallsvariable X := Anzahl der Würfe.

Mehr

Effiziente Algorithmen 2

Effiziente Algorithmen 2 Effiziente Algorithmen 2 Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2009 Übersicht Algorithmen

Mehr

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Algorithmen mit konstantem Platzbedarf: Die Klasse REG Algorithmen mit konstantem Platzbedarf: Die Klasse REG Sommerakademie Rot an der Rot AG 1 Wieviel Platz brauchen Algorithmen wirklich? Daniel Alm Institut für Numerische Simulation Universität Bonn August

Mehr

Pseudo-Zufallsgeneratoren basierend auf dem DLP

Pseudo-Zufallsgeneratoren basierend auf dem DLP Seminar Codes und Kryptografie SS 2004 Struktur des Vortrags Struktur des Vortrags Ziel Motivation 1 Einleitung Ziel Motivation 2 Grundlegende Definitionen Zufallsgeneratoren 3 Generator Sicherheit 4 Generator

Mehr

Chord. Zusätzliche Quelle: Christian Schindelhauer, Vorlesung: Algorithmen für Peer-to-Peer-Netzwerke

Chord. Zusätzliche Quelle: Christian Schindelhauer, Vorlesung: Algorithmen für Peer-to-Peer-Netzwerke Chord Zusätzliche Quelle: Christian Schindelhauer, Vorlesung: Algorithmen für Peer-to-Peer-Netzwerke Peer-to-peer Netzwerke Peer-to-peer Netzwerke sind verteilte Systeme: ohne zentrale Kontrolle oder hierarchische

Mehr

3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1

3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1 3.2 Binäre Suche Beispiel 6.5.1: Intervallschachtelung (oder binäre Suche) (Hier ist n die Anzahl der Elemente im Feld!) Ein Feld A: array (1..n) of Integer sei gegeben. Das Feld sei sortiert, d.h.: A(i)

Mehr

U h(k 1 ) h(k 4 ) k 1 h(k 3 )

U h(k 1 ) h(k 4 ) k 1 h(k 3 ) 92 Kapitel 8 Hashing Hashing ist ein anderes Vorgehen, das auch ohne Baumstrukturen ein effizientes Suchen ermöglicht. Wie bei Bucketsort ist auch hier eine der grundsätzlichen Eigenschaften, dass Hashing

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 9 (28.5.2014) Hashtabellen III Algorithmen und Komplexität Offene Adressierung : Zusammenfassung Offene Adressierung: Alle Schlüssel/Werte

Mehr

Algorithmen und Datenstrukturen II

Algorithmen und Datenstrukturen II Syntax und Semantik Java: Der Einstieg Imperative Programmierung in Java Algorithmen zur exakten Suche in Texten Objektori Algorithmen und Datenstrukturen II AG Praktische Informatik Technische Fakultät

Mehr

x+ 2y = 2 3x+ 3y+ 3z = 0

x+ 2y = 2 3x+ 3y+ 3z = 0 Mathematik für Informatiker III WS 5/ Musterlösung zur Klausur vom 8.. Anmerkung: Für die Aufgaben bis 4 gab es 4 Punkte, zusammen mit der Zusatzaufgabe 5 konnte man 4 Punkte erreichen. Um die Klausur

Mehr

7 Der kleine Satz von Fermat

7 Der kleine Satz von Fermat 7 Der kleine Satz von Fermat Polynomkongruenz modulo p. Sei p eine Primzahl, n 0 und c 0,..., c n Z. Wir betrachten die Kongruenz ( ) c 0 + c 1 X +... + c n 1 X n 1 + c n X n 0 mod p d.h.: Wir suchen alle

Mehr

13. Woche: NP-Vollständigkeit Satz von Cook-Levin Anwendungen in der Kryptographie

13. Woche: NP-Vollständigkeit Satz von Cook-Levin Anwendungen in der Kryptographie 13 Woche: NP-Vollständigkeit Satz von Cook-Levin Anwendungen in der Kryptographie 13 Woche: NP-Vollständigkeit, Satz von Cook-Levin, Anwendungen 276/ 333 N P-Vollständigkeit Ḋefinition NP-vollständig Sei

Mehr

3: Zahlentheorie / Primzahlen

3: Zahlentheorie / Primzahlen Stefan Lucks Diskrete Strukturen (WS 2009/10) 96 3: Zahlentheorie / Primzahlen 3: Zahlentheorie / Primzahlen Stefan Lucks Diskrete Strukturen (WS 2009/10) 97 Definition 37 (Teiler, Vielfache, Primzahlen,

Mehr

15. September 2010 Prof. Dr. W. Bley. Universität Kassel Klausur SS 2010 Diskrete Strukturen I (Informatik) Name:... Matr.-Nr.:... Viel Erfolg!

15. September 2010 Prof. Dr. W. Bley. Universität Kassel Klausur SS 2010 Diskrete Strukturen I (Informatik) Name:... Matr.-Nr.:... Viel Erfolg! 15. September 010 Prof. Dr. W. Bley Universität Kassel Klausur SS 010 Diskrete Strukturen I (Informatik) 1 3 4 5 6 Name:................................................ Matr.-Nr.:............................................

Mehr

8. Formelsammlung. Pr[ ] = 0. 0 Pr[A] 1. Pr[Ā] = 1 Pr[A] A B = Pr[A] Pr[B] DWT 8.1 Gesetze zum Rechnen mit Ereignissen 203/467 Ernst W.

8. Formelsammlung. Pr[ ] = 0. 0 Pr[A] 1. Pr[Ā] = 1 Pr[A] A B = Pr[A] Pr[B] DWT 8.1 Gesetze zum Rechnen mit Ereignissen 203/467 Ernst W. 8. Formelsammlung 8.1 Gesetze zum Rechnen mit Ereignissen Im Folgenden seien A und B, sowie A 1,..., A n Ereignisse. Die Notation A B steht für A B und zugleich A B = (disjunkte Vereinigung). A 1... A

Mehr

8 Komplexitätstheorie und Kryptologie

8 Komplexitätstheorie und Kryptologie 8 Komplexitätstheorie und Kryptologie Verschlüsselung, Authentisierung,... müssen schnell berechenbar sein. Formal: polynomiell zeitbeschränkte Funktionen/Algorithmen Angreifer hat beschränkte Ressourcen.

Mehr

KAPITEL 1: ENDLICHE KÖRPER 1 ALLGEMEINES 2 GLEICHUNGEN ÜBER EINEM ENDLICHEN KÖRPER

KAPITEL 1: ENDLICHE KÖRPER 1 ALLGEMEINES 2 GLEICHUNGEN ÜBER EINEM ENDLICHEN KÖRPER RUPRECHT-KARLS-UNIVERSITÄT HEIDELBERG MATHEMATISCHES INSTITUT SEMINAR: QUADRATISCHE FORMEN ÜBER DEN RATIONALEN ZAHLEN SOMMERSEMESTER 2007 DOZENT: PROF. DR. KAY WINGBERG ASSISTENT: JOHANNES BARTELS KAPITEL

Mehr

Aufgabe der Kryptografie

Aufgabe der Kryptografie Aufgabe der Kryptografie Eve möchte die Unterhaltung mithören und/oder ausgetauschte Informationen ändern. Alice & Bob kommunzieren über einen unsicheren Kanal. Alice & Bob nutzen Verschlüsselung und digitale

Mehr

KAPITEL 13. Polynome. 1. Primfaktorzerlegung in den ganzen Zahlen. ,, p r

KAPITEL 13. Polynome. 1. Primfaktorzerlegung in den ganzen Zahlen. ,, p r KAPITEL 13 Polynome 1. Primfaktorzerlegung in den ganzen Zahlen DEFINITION 13.1 (Primzahl). Eine Zahl p ist genau dann eine Primzahl, wenn folgende beiden Bedingungen gelten: (1) Es gilt p > 1. (2) Für

Mehr

2. Grundlagen. Beschreibung von Algorithmen durch Pseudocode. Korrektheit von Algorithmen durch Invarianten.

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

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 011 Übungsblatt 6. August 011 Grundlagen: Algorithmen und Datenstrukturen

Mehr

Suchen und Sortieren Sortieren. Heaps

Suchen 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

Mehr

Wörterbucher. Das Wörterbuch 1 / 71

Wö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}.

Mehr

14. Rot-Schwarz-Bäume

14. 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).

Mehr

p k (1 p) n k s k = (1 p + ps) n. k p(1 p) k 1 s k ((1 p)s) k 1 =

p k (1 p) n k s k = (1 p + ps) n. k p(1 p) k 1 s k ((1 p)s) k 1 = Binomialverteilung Für X Bin(n, p) gilt nach der binomischen Formel G X (s) = E[s X ] = n ( ) n p k (1 p) n k s k = (1 p + ps) n. k Geometrische Verteilung Sei X eine geometrisch verteilte Zufallsvariable

Mehr

Untersuchen Sie, inwiefern sich die folgenden Funktionen für die Verwendung als Hashfunktion eignen. Begründen Sie Ihre Antwort.

Untersuchen 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

Mehr

Quicksort ist ein Divide-and-Conquer-Verfahren.

Quicksort ist ein Divide-and-Conquer-Verfahren. . Quicksort Wie bei vielen anderen Sortierverfahren (Bubblesort, Mergesort, usw.) ist auch bei Quicksort die Aufgabe, die Elemente eines Array a[..n] zu sortieren. Quicksort ist ein Divide-and-Conquer-Verfahren.

Mehr

Die mittlere Zeit zum Auffinden eines Elements in einer Hash-Tabelle beträgt, unter realistischen Annahmen, O(1).

Die 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

Mehr

Vollständigkeit. 1 Konstruktion der reellen Zahlen

Vollständigkeit. 1 Konstruktion der reellen Zahlen Vortrag im Rahmen des Proseminars zur Analysis, 17.03.2006 Albert Zeyer Ziel des Vortrags ist es, die Vollständigkeit auf Basis der Konstruktion von R über die CAUCHY-Folgen zu beweisen und äquivalente

Mehr

Kapitel 6: Das quadratische Reziprozitätsgesetz

Kapitel 6: Das quadratische Reziprozitätsgesetz Kapitel 6: Das quadratische Reziprozitätsgesetz Ziel dieses Kapitels: die Untersuchung der Lösbarkeit der Kongruenzgleichung X also die Frage, ob die ganze Zahl Z eine Quadratwurzel modulo P besitzt. Im

Mehr

Kapitel 3: Die Sätze von Euler, Fermat und Wilson. 8 Der Satz von Euler

Kapitel 3: Die Sätze von Euler, Fermat und Wilson. 8 Der Satz von Euler Kapitel 3: Die Sätze von Euler, Fermat und Wilson In diesem Kapitel wollen wir nun die eulersche -Funktion verwenden, um einen berühmten Satz von Euler zu formulieren, aus dem wir dann mehrere interessante

Mehr

Der Dreyfus-Wagner Algorithmus für das Steiner Baum Problem

Der Dreyfus-Wagner Algorithmus für das Steiner Baum Problem Der Dreyfus-Wagner Algorithmus für das Steiner Baum Problem Andreas Moser Dietmar Ebner Christian Schauer Markus Bauer 9. Dezember 2003 1 Einführung Der in der Vorlesung gezeigte Algorithmus für das Steiner

Mehr

Primzahltest in Polynomialzeit Der Algorithmus von Agrawal, Kayal und Saxena

Primzahltest in Polynomialzeit Der Algorithmus von Agrawal, Kayal und Saxena Primzahltest in Polynomialzeit Der Algorithmus von Agrawal, Kayal und Saxena 1. Worum geht es? Das Problem, um das es geht, heißt PRIMES. Es entscheidet für eine vorgegebene Zahl n > 2 die Frage, ob n

Mehr

3. Kombinatorik und Wahrscheinlichkeit

3. Kombinatorik und Wahrscheinlichkeit 3. Kombinatorik und Wahrscheinlichkeit Es geht hier um die Bestimmung der Kardinalität endlicher Mengen. Erinnerung: Seien A, B, A 1,..., A n endliche Mengen. Dann gilt A = B ϕ: A B bijektiv Summenregel:

Mehr

Algorithmische Bioinformatik 1

Algorithmische Bioinformatik 1 Algorithmische Bioinformatik 1 Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2009 Übersicht Algorithmen

Mehr

Vorlesung Sicherheit

Vorlesung Sicherheit Vorlesung Sicherheit Dennis Hofheinz ITI, KIT 15.05.2017 1 / 25 Überblick 1 Hashfunktionen Angriffe auf Hashfunktionen Zusammenfassung Hashfunktionen 2 Asymmetrische Verschlüsselung Idee Beispiel: RSA

Mehr

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)

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

Mehr