Datenstrukturen und Algorithmen
In einer Hashtabelle der Größe 7 (Positionen 0 bis 6) werden mit der Hashfunktion h(k) = k mod 7 die Schlüssel 10, 17, 24 und 3 in dieser Reihenfolge gespeichert. Kollisionen werden durch lineares Sondieren aufgelöst, das jeweils eine Position weiterrückt (nach 6 folgt 0), bis ein freier Platz gefunden ist. An welcher Position wird der Schlüssel 3 gespeichert?
- APosition 3
- BPosition 4
- CPosition 6
Antwort und Erläuterung anzeigen
Antwort: C. Position 6
Alle vier Schlüssel lassen bei Division durch 7 den Rest 3, daher prüft jeder zuerst Position 3. Der Schlüssel 10 kommt an Position 3; 17 findet Position 3 belegt und kommt an Position 4; 24 findet die Positionen 3 und 4 belegt und kommt an Position 5. Der Schlüssel 3 findet die Positionen 3, 4 und 5 belegt und wird an Position 6 gespeichert. Wie dieses Beispiel zeigt, ballen sich beim linearen Sondieren die belegten Positionen zusammen (Clustering), sodass später eintreffende Schlüssel mehr Sondierschritte brauchen.