2011-12-30T11:25:42
topeg[...]
Da kein Hash-Algorithmus perfekt ist, kann es vorkommen, das zwei Werte den selben Hash erzeugen und damit den selben Speicherort beanspruchen. Um das Problem zu lösen werden Die Werte als verlinkte Liste an diesem Speicherort hinterlegt.
[...]
Anmerkungen am Rande:
- In genau den Spezialfällen wo man alle möglichen Schlüssel im Vorfeld kennt kann man das Problem durchaus dadurch verhindern, dass man eine perfekte Hashfunktion erzeugt.
- Man kann das Problem auch dadurch umgehen, dass man zum Speichern aller Schlüssel-Wert-Paare mit gleichem Schlüsselhash eben keine einfache sequentielle Datenstruktur verwendet, sondern zum Beispiel einen Binärbaum.
When C++ is your hammer, every problem looks like your thumb.