Junior — Middle
Můžete vysvětlit princip fungování hashování při implementaci mapy (Map)?
sobes.tech AI
Odpověď od AI
V jazyce Go je mapa (mapa) implementována jako hashovací tabulka, kde jsou klíče převedeny na hashovací hodnoty pomocí hashovací funkce. Princip fungování hashování v mapě je následující:
- Pro daný klíč se vypočítá hashovací kód — číselná hodnota závislá na obsahu klíče.
- Hashovací kód se používá k určení indexu v poli košů (kbelíků), kde je hodnota uložena.
- Pokud je v koši více prvků (kolize), hledá se pomocí řetězce nebo jiného mechanismu řešení kolizí.
To umožňuje rychle najít, přidat a odstranit prvky podle klíče s amortizovanou složitostí přibližně O(1).
Příklad použití mapy v jazyce Go:
m := make(map[string]int)
m["apple"] = 5
value := m["apple"] // value == 5
V tomto příkladu je řetězec "apple" hashován a hodnota 5 je uložena v odpovídajícím koši.