Junior — Middle
Jak je implementována datová struktura map pro ukládání a přístup k párům klíč-hodnota v systému?
sobes.tech AI
Odpověď od AI
V jazyce Go je datová struktura map implementována jako hash tabulka, která umožňuje rychlý přístup k hodnotám podle klíčů. Při přidání páru klíč-hodnota je klíč zahashován a hash určuje index v poli bucketů, kde je hodnota uložena.
Hlavní body implementace:
- Používá otevřenou adresaci s řetězci k řešení kolizí.
- Při kolizích jsou prvky uloženy v propojených seznamech uvnitř bucketů.
- Při růstu počtu prvků dochází k reorganizaci (rehash), aby se zachovala výkonnost.
Příklad použití mapy v jazyce Go:
m := make(map[string]int)
m["apple"] = 5
value, exists := m["apple"]
if exists {
fmt.Println("Hodnota pro 'apple':", value)
}