Junior
Waaruit bestaat een hash-tabel?
sobes.tech AI
Antwoord van AI
Een hashtabel bestaat uit:
- Array (of lijst): De hoofdgegevensstructuur waarin de elementen worden opgeslagen. Soms worden ze "emmers" (buckets) of "slots" genoemd.
- Hashfunctie: Functie die een sleutel als invoer neemt en een index (geheel getal) in de array retourneert. Een goede hashfunctie zorgt voor een gelijkmatige verdeling van de sleutels over de array, waardoor botsingen worden geminimaliseerd.
- Botsingsbehandelingsmechanisme: Methode om de situatie op te lossen wanneer de hashfunctie hetzelfde index genereert voor verschillende sleutels. Twee hoofdmethoden:
- Separate Chaining: Elk element in de array slaat een pointer op naar een lijst (gelinkte lijst, B-boom, enz.) van elementen die op dat index zijn gehasht.
- Open Adressering: Bij botsing wordt gezocht naar een andere vrije plek in de array om het element te plaatsen. Zoekstrategieën:
- Lineair probing
- Kwadratisch probing
- Double hashing
- Operaties: Implementatie van de basisoperaties: invoegen (insert), zoeken (search), verwijderen (delete). Deze operaties gebruiken de hashfunctie om de locatie van de elementen in de array te bepalen en het botsingsbehandelingsmechanisme indien nodig.