Sobes.tech
Junior — Middle

Leg het principe van open adressering uit in de implementatie van associatieve containers van het type map.

sobes.tech AI

Antwoord van AI

Open adressering is een methode om botsingen op te lossen in hashtabellen, zoals map. Bij het toevoegen van een sleutel-waarde paar, als de berekende hash wijst op een bezette cel, wordt er binnen de array gezocht naar een vrije cel volgens een bepaalde sequentie (bijvoorbeeld lineair of kwadratisch zoeken).

In plaats van gekoppelde lijsten voor botsingen (ketens), slaat open adressering alle elementen op in één array, waarbij sequentieel de aangrenzende posities worden gecontroleerd totdat een lege wordt gevonden.

Voorbeeld van lineair zoeken:

// hash - hashfunctie
// table - array voor het opslaan van elementen
// i - pogingnummer
index := (hash(sleutel) + i) % len(table)

Deze aanpak bespaart geheugen op pointers, maar vereist controle over de belasting van de tabel om prestatieverlies te voorkomen.