Junior — Middle
Come si accede agli elementi nelle strutture dati Map utilizzando una funzione hash?
sobes.tech AI
Risposta dell'AI
In Go, le strutture dati Map sono implementate basandosi su tabelle hash. Quando si accede a un elemento tramite la chiave, avviene quanto segue:
- La chiave viene passata attraverso una funzione hash che calcola un codice hash.
- Il codice hash viene usato per determinare l'indice del contenitore (bucket) nell'array.
- Nel contenitore, si cerca l'elemento con la chiave corrispondente (solitamente tramite confronto delle chiavi).
Questo garantisce un tempo di accesso ammortizzato vicino a O(1).
Esempio di utilizzo di map in Go:
m := make(map[string]int)
m["apple"] = 5
value := m["apple"] // value == 5
Internamente, per la chiave "apple" viene calcolato un hash, che permette di localizzare l'elemento necessario.