Datenstrukturen und Algorithmen SS17 Tutoriumslösung - Übung 6 (Abgabe 14.6.2017) aa
Prof. Dr. Ir. G. Woeginger T. Hartmann, D. Korzeniewski, B. Tauer
Globalübungsaufgabe1 (Hashtabelle Divisionsmethode):
Fügen Sie die folgenden Werte in ein anfangs leeres Array der Länge 7 unter Verwendung derDivisionsmethode ohne Sondierung (also durch Verkettung) ein:
17, 54, 12, 5, 34.
Lösung:
m = 7:
0:
1:
2:
3: 17 4:
5: 54, 12, 5 6: 34
Globalübungsaufgabe2 (Hashtabelle Multiplikationsmethode):
a) Fügen Sie die folgenden Werte in ein anfangs leeres Array der Länge 8 unter Verwendung derMultipli- kationsmethode (c= 0.62)ohne Sondierung (also durch Verkettung) ein:
3, 4, 8, 15, 29, 78.
b) Wie groß ist der Füllgrad der Tabelle?
Lösung:
a) m = 8, c = 0.62:
1
Datenstrukturen und Algorithmen SS17 Tutoriumslösung - Übung 6 (Abgabe 14.6.2017)
0:
1:
2: 15, 78 3: 4 4:
5:
6: 3 7: 8, 29
b) Der Füllgrad ist 68.
Globalübungsaufgabe3 (Kollisionsauflösung durch Verkettung):
Wir betrachten Schlüssel aus einem Universum U mit|U|> mn. Zeigen Sie, dass im Worst Case die Laufzeit für die Suche nach einem Schlüssel immer in Θ(n) liegt, wennnSchlüssel in einer Hashtabelle der Größe m mit Kollisionsauflösung durch Verkettung gespeichert wurden.
Lösung:
Wenn U eine Teilmenge vonn Schlüsseln enthält, die alle auf den selben Hashwert abgebildet werden, dann erhalten wir den Worst Case der Suche in Zeit Θ(n). Die Hashtabelle, die genau die Schlüssel aus dieser Teilmenge enthält, ist lediglich eine Liste aller Schlüssel, da sie alle auf den selben Wert abgebildet werden.
Worst Case Laufzeit von Suche in einer unsortierten Liste ist Θ(n).
Es ist noch zu Zeigen, dass eine solche Teilmenge existieren muss.
Dazu nutzen wir das Schubfachprinzip: Verteilt mank Objekte aufmMengen, dann gibt es mindestens eine Menge, in der sich mindestensdmkeElemente befinden. Da unser Universum mindestensnmElemente enthält gilt, dass ein Hashwert existiert, auf den mindestens dnmme=dne=nSchlüssel abgebildet werden.
2