Sobes.tech
Junior — Middle

Hoe krijgt men toegang tot de elementen in Map-gegevensstructuren met behulp van een hashfunctie?

sobes.tech AI

Antwoord van AI

In Go zijn datastructuren van het type Map gebaseerd op hash-tabellen. Bij toegang tot een element via de sleutel gebeurt het volgende:

  1. De sleutel wordt door een hashfunctie geleid die een hash-code berekent.
  2. De hash-code wordt gebruikt om de index van de bak (bucket) in de array te bepalen.
  3. In de bak wordt gezocht naar het element met de overeenkomende sleutel (meestal door vergelijking van sleutels).

Dit zorgt voor een geamortiseerde toegangstijd die dicht bij O(1) ligt.

Voorbeeld van het gebruik van map in Go:

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

Intern wordt voor de sleutel "apple" een hash berekend, waarmee het benodigde element wordt gevonden.