Sobes.tech
Junior — Middle

Kako se pristupa elementima u strukturama podataka Map koristeći hash funkciju?

sobes.tech АИ

Одговор од АИ

U Go, strukture podataka Map su implementirane na osnovu hash tabela. Kada pristupate elementu putem ključa, dešava se sledeće:

  1. Ključ prolazi kroz hash funkciju koja izračunava hash kod.
  2. Hash kod se koristi za određivanje indeksa kante (bucket) u nizu.
  3. U kanti se traži element sa odgovarajućim ključem (obično putem poređenja ključeva).

Ovo obezbeđuje amortizovano vreme pristupa blizu O(1).

Primer korišćenja mape u Go:

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

Unutrašnje, za ključ "apple" se računa hash, pomoću kojeg se nalazi potrebni element.