Lecture 17 Flashcards

(9 cards)

1
Q

Vorraussetzungen für Hashing

A

Universum U von Schlüsseln mit |U| = N (sehr groß)
Teilmenge von U: V von tatsächlich genutzen schlüsseln mit |V| = n
–> n &laquo_space;N

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Idee für Hastabellen

A

Array T mit Platz für m Elemente (m &laquo_space;N)
–> Hashtabelle
und erstellen einer Hash-funktion h

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Anforderungen an die Hashfunktion

A
  • Schneller Zugriff
  • wenig speicherverbrauch (surjektiv)
  • Gute Streuung bzw. Verteilung derr Elemente über die ganze Tabelle
  • find, insert und remove in O(1)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Was sind Kollisionen und wie oft kommen Kollisionen vor?
Was ist dafür die Lösung?

A
  • Schlüssel mit gleicher Adresse.
  • Mit Geburtstagsparadoxon: 23 keys -> Hashtabelle mit Größe 356 = > 50%
  • Chaining (Felder von Listen)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Wie kontruiert man gut Hashfunktionen

A

eine zufällige Hashfunktion hat bei remove und Find Laufzeit O(1+ n/m), aber daraus eine auzuwählern verbraucht zu viel speicher
man beschränkt sich auf bestimmte Familien (c- universell) -> c bei uns immer nur 1, also nur universell

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was ist die Wahrscheinlichkeit für dublikate im universellen hashing

Was ist dann die Laufezeit für insert und remove

A

PR[h(x) = h(y)] <= 1/m

–> O(1+c * n/m)
(c bei uns bekanntlich 1, also O(1+ n/m)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Beispiel für eine universelle Hashfunktion

A

h(x) = ax mod m
a
x ist Skalarprodukt, weil a und x aufgeteilt wird wie ein Tupel

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

perfektes Hashing

A

O(1) find
O(n) Speicher mit dem Build (zumindest der Erwartungswert ist O(n)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q
A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly