Lesson 4 Hash Functions Flashcards

1
Q

Was ist eine Hashfunktion?

A

Eine Hashfunktion ist eine Abbildung H: K -> S, bei der K die Menge der Schlüssel und S die Menge der Hashwerte ist. Die Funktion ordnet jedem Schlüssel einen Hashwert zu, der als Speicherindex dient.

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

Was ist eine Kollision in einer Hashtabelle?

A

Eine Kollision tritt auf, wenn zwei unterschiedliche Schlüssel k und k’ denselben Hashwert haben, d. h., wenn H(k) = H(k’) gilt.

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

Was sind die Anforderungen an eine gute Hashfunktion?

A

Eine gute Hashfunktion sollte schnell berechenbar sein, eine gleichmäßige Verteilung der Hashwerte erzeugen und Kollisionen minimieren.

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

Was ist direkte Adressierung?

A

Bei der direkten Adressierung wird der Schlüssel direkt als Index für den Speicher verwendet. Dies funktioniert jedoch nur, wenn die Menge der möglichen Schlüssel klein ist.

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

Was ist eine Hashtabelle?

A

Eine Hashtabelle ist eine Datenstruktur, die verwendet wird, um (Schlüssel, Wert)-Paare zu speichern. Die Speicherposition des Wertes wird durch den Hashwert des Schlüssels bestimmt.

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

Wie funktioniert die Kollisionserkennung in einer Hashtabelle?

A

Kollisionen können durch verschiedene Techniken gelöst werden, z. B. Verkettung (Chaining) oder Sondieren (Probing).

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

Was ist lineares Sondieren?

A

Beim linearen Sondieren wird** bei einer Kollision der nächste freie Speicherplatz gesucht**, indem linear durch die Hashtabelle iteriert wird.

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

Was ist quadratisches Sondieren?

A

Quadratisches Sondieren verwendet eine quadratische Funktion, um den nächsten Speicherplatz zu finden, wenn eine Kollision auftritt.

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

Was ist doppeltes Hashing?

A

Beim doppelten Hashing wird eine** zweite Hashfunktion verwendet**, um bei einer Kollision den nächsten Speicherplatz zu berechnen.

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

Was ist der Belegungsfaktor (Load Factor) einer Hashtabelle?

A

Der Belegungsfaktor ist definiert als das Verhältnis der belegten Speicherplätze zur Gesamtzahl der verfügbaren Plätze in der Hashtabelle.

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

Was ist das Geburtstagsparadoxon im Kontext von Hashtabellen?

A

Das Geburtstagsparadoxon beschreibt, dass bei einer begrenzten Anzahl von möglichen Hashwerten bereits nach relativ wenigen Einträgen die Wahrscheinlichkeit für eine Kollision signifikant steigt.

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

Was ist die Modulo-Hashfunktion?

A

Eine Modulo-Hashfunktion berechnet den Hashwert durch Division des Schlüssels k durch die Tabellenlänge m und Verwendung des Restwerts als Hashwert H(k) = k mod m.

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

Was ist Cuckoo-Hashing?

A

Cuckoo-Hashing verwendet zwei Hashfunktionen und zwei Hashtabellen, um Kollisionen zu vermeiden. Falls beide Positionen belegt sind, wird ein bereits gespeicherter Wert verschoben.

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

Was ist der Unterschied zwischen einer Hashtabelle und einem binären Suchbaum (BST)?

A

Eine Hashtabelle ermöglicht konstante Zeitoperationen O(1) für Einfügen, Suchen und Löschen, während ein binärer Suchbaum geordnete Operationen mit einer garantierten Worst-Case-Zeit von O(log n) ermöglicht.

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

Welche Anwendungen haben Hashfunktionen?

A

Hashfunktionen werden in vielen Bereichen eingesetzt, z. B. in Adjazenzlisten von Graphen, Symboltabellen in Compilern, Datenbankindizes und kryptographischen Anwendungen wie digitale Signaturen und Passwortspeicherung.

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