Junior — Middle
W jaki sposób funkcja haszująca oblicza, do którego kubełka umieścić przekazaną wartość?
sobes.tech AI
Odpowiedź od AI
Funkcja hash oblicza indeks kubełka, stosując funkcję hash na kluczu, a następnie używając operacji, która ogranicza wynik do rozmiaru tablicy kubełków.
W Go zazwyczaj wygląda to tak:
- Oblicza się wartość hash klucza (np. za pomocą wbudowanej funkcji hashującej).
- Uzyskana liczba jest brana modulo przez liczbę kubełków (len(buckets)) lub za pomocą maski bitowej, jeśli rozmiar kubełków jest potęgą dwójki.
Przykład:
hash := hashFunction(key)
bucketIndex := hash % len(buckets)
W ten sposób funkcja hash rozkłada klucze po kubełkach, zapewniając efektywne wyszukiwanie i wstawianie.