Datastructuren en algoritmen
De sleutels 10, 17, 24 en 3 worden in deze volgorde opgeslagen in een hashtabel van grootte 7 (posities 0 tot 6) met de hashfunctie h(k) = k mod 7. Botsingen worden opgelost met lineair proberen (linear probing): de positie schuift telkens één plaats op (na 6 komt 0) tot er een vrije plaats is gevonden. Op welke positie wordt sleutel 3 opgeslagen?
- APositie 3
- BPositie 4
- CPositie 6
Antwoord en toelichting tonen
Antwoord: C. Positie 6
Alle vier de sleutels geven bij deling door 7 de rest 3, dus elk probeert eerst positie 3. Sleutel 10 komt op positie 3; 17 vindt positie 3 bezet en komt op positie 4; 24 vindt posities 3 en 4 bezet en komt op positie 5. Sleutel 3 vindt posities 3, 4 en 5 bezet en wordt op positie 6 opgeslagen. Zoals dit laat zien, gaan bij lineair proberen bezette posities aaneengesloten blokken vormen (clustering), zodat later aankomende sleutels meer pogingen nodig hebben.