Algorithmic Intelligence
„Hashing“
Stefan Edelkamp
Übersicht
Hashing, Tabellen und Funktionen
Divisions-Rest-, Multiplikatives, Universelles Hashing
Verkettung der Überläufer und Offene Hashverahren
Brent‘s Algorithmus und geordnetes Hashing
Dynamische Tabellen
Suffix-Listen
Cuckoo-Hashing
Perfekte Hashfunktionen
Hash-
verfahren
Textmasterformate durch Klicken bearbeiten
Zweite Ebene
Dritte Ebene
Vierte Ebene
Fünfte Ebene
Probleme
Hash- funktion
Hashverfahren
Divisions- Rest
Multiplikative Methode
Universelles Hashing
Beispiel
Universelles Hashing
Hashing mit Verkettung der Überläufer
Wörterbuch-Operationen
Offene
Hashverfahren
Sondierungsfolgen
Sondierungsfolgen (ctd.)
Lineares Sondieren
Quadratisches Sondieren
Double Hashing
Beispiel
Verbesserung Erfolgreiche Suche
Brent
Brent (ctd.)
Beispiel
Ordered Hashing
Dynamische Tabellen
Dynamische Tabellen
Suffix- Listen
Wörterbuch Operationen auf
Suffix- Listen
Ergebnisse
Cuckoo-Hashing
Erfolgreich
•Problemfall
Pseudo-Codes
Perfekte Hashfunktionen
Minimal?
Theoretischer Durchbruch
Permutationsspiele
Parity
Rubik‘s Cube
Sliding Tile
Top Spin
Pan-Cake
(Minimal Perfect Hashing)
Orthogonal Hashing
Parity Preservation
Inversible Hash Functions
Myrvold Ruskey
Erzeuge
Random Permutation a[1,..,n ] := [1,..,n]
For i:= 1..n
Swap(i,rand([i+1..n])
Perfect Hashing Permutationen
Myrvold and Ruskey Unrank
Recursion Free Unranking
Recursion-Free Ranking
Beispiel
Hashing Board Games
Ranking with BDDs
Unranking with BDDs