Hashing Inhoud Hashing Hashtable Hash function Collision Toepassing van klassieke ADT’s, algoritmes en runtime overwegingen.

Slides:



Advertisements
Verwante presentaties
1 Hashtabellen Datastructuren. 2 Dit onderwerp Direct-access-tabellen Hashtabellen –Oplossen van botsingen met “ketens” (chaining) –Analyse –Oplossen.
Advertisements

Inleidend probleem Data structuur (hiërarchie van classes)
Hashtabellen Datastructuren. 2 Dit onderwerp Direct-access-tabellen Hashtabellen –Oplossen van botsingen met “ketens” (chaining) –Analyse –Oplossen van.
Algoritme Inhoud: Definitie algoritme Recursieve algoritmes Opgaven
1 Hashtabellen Datastructuren. 2 Dit onderwerp Direct-access-tabellen (vorige keer) Hashtabellen –Oplossen van botsingen met “ketens” (chaining) Vorige.
Trillingen en Cirkelbewegingen
4/10/2017 Opleiding BINNENISOLATIE voor thermische renovatie Module 3 Train the trainer – 06/12/ Brugge.
Isaac Newton Omdat een beetje extra bijscholing nooit kwaad kan 
Wageningen University Meteorologie en Luchtkwaliteit
Hoe deel je gesteenten in? Codering; Streckeisen
Dynamica van luchtstromen
Jeugd in het Strafrechtelijk kader Les 3, 2016 ‘Needs’
Natuurkunde Overal Hoofdstuk 1: Beweging in beeld.
Greenbuilding project
Aanleiding Veranderende organisatie
De missie, het hart en het broodtrommeltje
Gaat u dan snel naar Goedkoop of in kleine oplagen kleding (laten) bedrukken, met een embleem, logo en/of tekst van uzelf, of.
Bomen en struiken IVN Helden.
Roundtable De Gefragmenteerde Organisatie
Mictieklachten bij mannen
Hoofdstuk 6 Warmte.
Outdoor Advanced - Specialist Tuin en Openbaar Groen 3.1,
Inlichtingenbijeenkomst Simulatiecapaciteit ERTMS
Groeiende kritiek op de katholieke Kerk rond 1500
Hoofdstuk 3 In beweging.
Nienke Hoffman Teamleider bovenbouw 28 maart 2017
TAALSITUATIE & - ONTWIKKELING IN VLAANDEREN
Wees welkom op deze 1STE cursus windows SPECIAAL ONTWIKKELD VOOR AMBTENAREN Vergeet niet te rusten tijdens de cursus en neem een relaxe houding aan tijdens.
Microsoft® Office Outlook® 2007-cursus
DE WINST VAN ZORGVRIENDELIJK WERKGEVERSCHAP
Informatiebijeenkomst project Snippergroen
Kwaliteitsborging voor het Bouwen
Nieuw Nederlands Cursus Argumentatieve vaardigheden Opdracht 13
Hollandse Meesters 4 Portretten.
de tweede Bergrede Matteüs 24/25 - deel 8
Belangrijkste wijzigingen
Het Evangelie naar JOHANNES studie januari 2017 Bodegraven.
De economie in de gouden eeuw
Automatische presentatie met muziek
Dienst ter nagedachtenis aan Bertine Goudswaard - Toebes
Kleurenschema’s Inspiratie: steden van de wereld.
Paul Geurts, Gemeente Nijmegen
Natuurkunde Overal Hoofdstuk 3: Kracht en Beweging.
Herhaling hoofdstuk 3: Krachten
Hoofdstuk 8 Licht en kleur.
Bezwijken waterkering door piping
Herhaling § §12.1: Echografie = geluidsgolven: onschadelijk
G E L U I D.
Kwaliteitsanalyse van toetsen: betrouwbaarheid
Natuurkunde Overal Hoofdstuk 2: Elektriciteit.
5.1 Oefeningen op warmte-capaciteit met uitgewerkte oplossingen
Basistechnologie 1 – Krachten September 2017
Interactieve tijdreeksmodelontwikkeling
Elektrische schakelingen
Havo 4 Lesbrief Vervoer.
Overzicht aanpassingen compendium lucht
TONEEL.
Uitnodiging Rabobank-Sprintwedstrijden Het leukste side-event van de Giro d’Italia!! 30 april – uur.
Macro-economie Oplossingen proefexamen
Chromatografie Marco Houtekamer met de studenten:
Gezondheidszorg- en welzijnszorginstellingen
Energie en elektriciteit
Uitwerkingen gonio Examenbundel hfdst 4.
HERSIENING KLANK.
Formules omschrijven.
Werkinstructie EBS Hotels en restaurants
Toegepast rekenen HEO Algebra.
Energie: Grootheden en eenheden
Massa, Kracht en gewicht.
Spelend met klank leer je spelend wiskunde
Transcript van de presentatie:

Hashing Inhoud Hashing Hashtable Hash function Collision Toepassing van klassieke ADT’s, algoritmes en runtime overwegingen.

Hashing Hashing is een methode om een sleutelwaarde van een object af te beelden op de positie in een tabel. Dit leidt tot een flitsend snelle methode om objecten op te slaan en op te zoeken.

Hashtable Een hashtable is bijv. een array. De objecten bevinden zich verspreid in het array. Hashing is alleen snel indien slechts een gedeelte van het array wordt gebruikt. Vuistregel niet meer dan 50%. (boek 10 %)

Hash function Hash function berekent voor een object de index van het array-element. Probleem: aantal mogelijke sleutelwaarden groter dan het aantal array-elementen.

Hash function Type hash functions: Mapping Bijv. sleutel f( ) = 678 Folding Bijv. f( ) = Shifting Bijv. f( ) = 123 * *

Hash function Vrijwel altijd wordt de modulo-operatie toegepast. Voorbeeld: array bevat 1000 locaties. index = berekendeWaarde % 1000.

Hash function Gewenste eigenschap: veel voorkomende waarden met grote overeenkomsten worden op verschillende indices afgebeeld. Voorbeelden: Jansen, Janssen, Janse

Collision Indien twee verschillende sleutelwaarden worden afgebeeld op één index dan is er sprake van collision. Oplossingen: Hashing using buckets / chaining Lineair probing

Open hashing / Closed hashing Open addressing is het vinden van een open/niet gebruikte lokatie in de hashtable. Open hashing: De hashtable bevat de objecten.

Open hashing en Buckets/Chaining/Closed hashing

Lineair probing Leidt tot clustering. Alternatief: rehashing

Hashing using buckets Het boek vermeldt dat een bucket een onbeperkte capaciteit heeft. Gebruikelijk is een beperkte capaciteit. De overloop bucket heeft onbeperkte capaciteit.

Toepassing 4.4 Aantal array elementen bevat enkele tien- duizenden elementen. m is 5 á 10.

Toepassing Oplossingen: 3 geneste for-statements runtime : enkele dagen Sorteer x1x1 x2x2 …xmxm x2x2 x3x3 …x m+1 …………. x n-m ……x n -1 x n –(m-1) …x n-1 xnxn

Toepassing Maak gebruik van hashing: Aan elke string van m karakters wordt een hashwaarde toegekend. Bij een collison wordt onderzocht of strings identiek zijn. Runtime minder dan een dag.