Top Qs
Tijdlijn
Chat
Perspectief

Double hashing

Van Wikipedia, de vrije encyclopedie

Remove ads

In de informatica is double hashing een manier om collisies ('botsingen') bij het invoegen van een item in hashtabellen te verhelpen. Wanneer het invoegen op de positie die door de hashfunctie berekend is niet mogelijk is (doordat er al een item aanwezig is), wordt deze positie met een tweede hashfunctie verhoogd totdat een positie gevonden is.

De berekende positie wordt modulo m berekend waarbij m de grootte van de hashtabel is. Hierdoor blijft de berekende waarde in het interval [0, m) van gehele getallen en dus binnen de hashtabel:

mod m, met i = 0,1,2, ...
Remove ads

Voorbeeld

Samenvatten
Perspectief
Thumb
Visuele weergave van de werking van double hashing in het voorbeeld

We nemen een hashtabel met plaats voor 11 items met enkele plaatsen al bezet (namelijk 0, 4, 5, 6, 7 en 10). Dit geeft:

mod 11, met i = 0,1,2, ...

We willen een item invoegen met als eerste hashwaarde 22 (dus ) en als tweede hashwaarde 4 (dus ). Het invoegen verloopt als volgt:

(22 + 0 * 4) mod 11 = 0, collisie want deze plaats is al bezet
(22 + 1 * 4) mod 11 = 4, collisie
(22 + 2 * 4) mod 11 = 8, geen collisie dus het item kan hier ingevoegd worden.
Remove ads

Zie ook

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads