Algorytmy i struktury danych · Senior · Pytanie 70 z 75
Dlaczego dobra funkcja haszująca dla napisów przetwarza każdy znak?
- ✓Poprawna odpowiedź: Haszowanie tylko prefiksu sprawia, że klucze ze wspólnym początkiem kolidują
- 2Przetwarzanie każdego znaku jest wymagane dla stabilności
- 3Krótkie hasze nie mieszczą się w liczbach JavaScriptu
Wyjaśnienie
Wczesne wersje Javy haszowały tylko część znaków długich napisów i URL-e z tym samym początkiem masowo kolidowały. Koszt czytania całego klucza to cena równomiernego rozkładu.