Sobes.tech
Junior — Middle

Jak je přistupováno k prvkům ve strukturách dat Map pomocí hash funkce?

sobes.tech AI

Odpověď od AI

V Go jsou datové struktury typu Map implementovány na základě hash tabulek. Při přístupu k prvku pomocí klíče se děje následující:

  1. Klíč projde hashovací funkcí, která vypočítá hash kód.
  2. Hash kód se použije k určení indexu koše (bucket) v poli.
  3. V koši se hledá prvek s odpovídajícím klíčem (obvykle porovnáním klíčů).

Toto zajišťuje amortizovanou dobu přístupu blízkou O(1).

Příklad použití mapy v Go:

m := make(map[string]int)
m["apple"] = 5
value := m["apple"] // value == 5

Vnitřně je pro klíč "apple" vypočítán hash, podle kterého se najde potřebný prvek.