Algorithmen und Datenstrukturen · Senior · Frage 70 von 75
Warum verarbeitet eine gute Hashfunktion für Strings jedes Zeichen?
- 1Nur ein Präfix zu hashen lässt Schlüssel mit gleichem Präfix kollidieren
- 2Jedes Zeichen zu hashen ist für Stabilität erforderlich
- 3Kurze Hashes lassen sich nicht in JavaScript-Zahlen speichern
Antwort zeigen
Richtige Antwort: Nur ein Präfix zu hashen lässt Schlüssel mit gleichem Präfix kollidieren
Erklärung
Frühe Java-Versionen hashten bei langen Strings nur einige Zeichen, und URLs mit gleichem Anfang kollidierten stark. Den ganzen Schlüssel zu lesen ist der Preis einer gleichmäßigen Verteilung.