Junior — Middle
Meg tudná magyarázni a hashelés működési elvét egy térkép (Map) megvalósításában?
sobes.tech MI
Válasz az MI-től
Go-ban a térkép (map) egy hash-tábla formájában van megvalósítva, ahol a kulcsokat egy hash-függvény segítségével hash-értékekké alakítják. A hasholás működési elve a térképen a következő:
- Egy adott kulcs esetén kiszámítódik egy hash-kód — egy numerikus érték, amely a kulcs tartalmától függ.
- A hash-kódot arra használják, hogy meghatározzák a indexet a kosarak (kannák) tömbjében, ahol az érték tárolódik.
- Ha több elem van egy kosárban (ütközés), akkor láncolással vagy más ütközéskezelő mechanizmussal keresés történik.
Ez lehetővé teszi az elemek gyors megtalálását, hozzáadását és törlését kulcs szerint, körülbelül O(1) amortizált komplexitással.
Példa a térkép használatára Go-ban:
m := make(map[string]int)
m["apple"] = 5
value := m["apple"] // value == 5
Ebben a példában a "apple" szöveg hash-elve lesz, és az 5 érték a megfelelő kosárban kerül tárolásra.